5.2. OpenShift Virtualization 구성 요소를 위한 노드 지정
베어 메탈 노드의 VM(가상 머신)의 기본 예약이 적합합니다. 선택적으로 노드 배치 규칙을 구성하여 OpenShift Virtualization Operator, 워크로드 및 컨트롤러를 배포할 노드를 지정할 수 있습니다.
OpenShift Virtualization을 설치한 후 일부 구성 요소에 대한 노드 배치 규칙을 구성할 수 있지만 워크로드에 대한 노드 배치 규칙을 구성하려면 가상 머신이 존재할 수 없습니다.
5.2.1. OpenShift Virtualization 구성 요소의 노드 배치 규칙 정보 링크 복사링크가 클립보드에 복사되었습니다!
다음 작업에 노드 배치 규칙을 사용할 수 있습니다.
- 가상화 워크로드를 위한 노드에만 가상 머신을 배포합니다.
- 인프라 노드에만 Operator를 배포합니다.
- 워크로드 분리를 유지 관리합니다.
오브젝트에 따라, 다음 규칙 유형 중 하나 이상을 사용할 수 있습니다.
nodeSelector
- 이 필드에서 지정하는 키-값 쌍으로 라벨이 지정된 노드에 Pod를 예약할 수 있습니다. 노드에는 나열된 모든 쌍과 정확히 일치하는 라벨이 있어야 합니다.
유사성
- 더 많은 표현 구문을 사용하여 노드와 Pod의 일치 규칙을 설정할 수 있습니다. 유사성을 사용하면 규칙 적용 방법을 보다 자세하게 설정할 수 있습니다. 예를 들어 규칙은 요구 사항이 아닌 기본 설정임을 지정할 수 있습니다. 규칙이 기본 설정인 경우 규칙이 충족되지 않으면 Pod가 계속 예약됩니다.
허용 오차
- 일치하는 테인트가 있는 노드에 Pod를 예약할 수 있습니다. 테인트가 노드에 적용되는 경우, 해당 노드는 테인트를 허용하는 Pod만 허용합니다.
5.2.2. 노드 배치 규칙 적용 링크 복사링크가 클립보드에 복사되었습니다!
명령줄을 사용하여 Subscription
,HyperConverged
또는 HostPathProvisioner
오브젝트를 편집하여 노드 배치 규칙을 적용할 수 있습니다.
사전 요구 사항
-
oc
CLI 툴이 설치되어 있습니다. - 클러스터 관리자 권한으로 로그인되어 있습니다.
프로세스
다음 명령을 실행하여 기본 편집기에서 오브젝트를 편집합니다.
oc edit <resource_type> <resource_name> -n {CNVNamespace}
$ oc edit <resource_type> <resource_name> -n {CNVNamespace}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 파일을 저장하여 변경 사항을 적용합니다.
5.2.3. 노드 배치 규칙 예 링크 복사링크가 클립보드에 복사되었습니다!
Subscription
,HyperConverged
또는 HostPathProvisioner
오브젝트를 편집하여 OpenShift Virtualization 구성 요소에 대한 노드 배치 규칙을 지정할 수 있습니다.
5.2.3.1. 서브스크립션 오브젝트 노드 배치 규칙 예 링크 복사링크가 클립보드에 복사되었습니다!
OLM이 OpenShift Virtualization Operator를 배포하는 노드를 지정하려면, OpenShift Virtualization 설치 중에 서브스크립션
오브젝트를 편집합니다.
현재는 웹 콘솔을 사용하여 서브스크립션
오브젝트에 대한 노드 배치 규칙을 구성할 수 없습니다.
Subscription
오브젝트는 유사성
노드 pplacement 규칙을 지원하지 않습니다.
nodeSelector
규칙이 있는 Subscription
오브젝트의 예
- 1
- OLM은
example.io/example-infra-key = example-infra-value
레이블이 지정된 노드에 OpenShift Virtualization Operator를 배포합니다.
허용 오차
규칙이 있는 Subscription
오브젝트의 예
- 1
- OLM은
key = virtualization:NoSchedule
테인트에 레이블이 지정된 노드에 OpenShift Virtualization Operator를 배포합니다. 허용 오차가 일치하는 Pod만 이러한 노드에 예약됩니다.
5.2.3.2. HyperConverged 오브젝트 노드 배치 규칙 예 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Virtualization이 구성 요소를 배포하는 노드를 지정하려면 OpenShift Virtualization을 설치하는 동안 생성한 HyperConverged CR(사용자 정의 리소스) 파일에서 nodePlacement
오브젝트를 편집할 수 있습니다.
nodeSelector
규칙이 있는 HyperConverged
오브젝트의 예
유사성
규칙이 있는 HyperConverged
오브젝트의 예
허용 오차
규칙이 있는 HyperConverged
오브젝트의 예
- 1
- OpenShift Virtualization 구성 요소로 예약된 노드는
key = virtualization:NoSchedule
테인트로 레이블이 지정됩니다. 허용 오차가 일치하는 Pod만 예약된 노드에 예약됩니다.
5.2.3.3. HostPathProvisioner 오브젝트 노드 배치 규칙의 예 링크 복사링크가 클립보드에 복사되었습니다!
직접 또는 웹 콘솔을 사용하여 HostPathProvisioner
오브젝트를 편집할 수 있습니다.
동일한 노드에 hostpath 프로비전 프로그램 및 OpenShift Virtualization 구성 요소를 예약해야 합니다. 예약하지 않으면 hostpath 프로비전 프로그램을 사용하는 가상화 Pod를 실행할 수 없습니다. 가상 머신을 실행할 수 없습니다.
HPP(Hostpath provisioner) 스토리지 클래스를 사용하여 VM(가상 머신)을 배포한 후 노드 선택기를 사용하여 동일한 노드에서 hostpath 프로비저너 Pod를 제거할 수 있습니다. 그러나 VM을 삭제하기 전에 먼저 특정 노드의 경우 해당 변경 사항을 되돌리고 Pod가 실행될 때까지 기다려야 합니다.
hostpath 프로비전 프로그램을 설치할 때 생성하는 HostPathProvisioner
오브젝트의 spec.workload
필드에 nodeSelector
,affinity
또는 tolerations
를 지정하여 노드 배치 규칙을 구성할 수 있습니다.
nodeSelector
규칙이 있는 HostPathProvisioner
오브젝트의 예
- 1
- 워크로드는
example.io/example-workloads-key = example-workloads-value
라벨이 지정된 노드에 배치됩니다.