3.7. 자동화 컨트롤러 Pod를 위한 전용 노드 지정
제어 Pod와 자동화 작업 Pod를 분리하고 이러한 두 유형의 Pod 간 리소스 경합을 방지하려면 전용 노드에서 제어 Pod를 실행하는 것이 중요합니다. 이러한 분리는 리소스 제약 조건으로 인한 성능 저하의 위험 없이 제어 Pod 및 제공하는 서비스의 안정성과 신뢰성을 유지하는 데 도움이 됩니다.
이 참조 환경에서는 실행할 수 있는 자동화 작업 수를 극대화하는 데 중점을 둡니다. 즉, Red Hat OpenShift 환경에서 사용 가능한 3개의 작업자 노드 중 하나의 작업자 노드는 제어 Pod를 실행하는 데 전용되지만 나머지 2개의 작업자 노드는 자동화 작업 실행에 사용됩니다.
제어 Pod를 실행하기 위해 하나의 작업자 노드만 노력하면 전용 작업자 노드가 중단된 경우 다른 위치에 있지 않기 때문에 서비스가 손실될 위험이 발생할 수 있습니다. 이러한 상황을 해결하려면 Red Hat OpenShift 클러스터 내에서 추가 제어 Pod 복제본을 실행하기 위해 자동화 작업을 실행하거나 추가 작업자 노드를 추가하는 작업자 노드 수를 줄이는 것은 실행 가능한 옵션입니다.
3.7.1. 자동화 컨트롤러의 특정 작업자 노드에 제어 Pod 할당
Red Hat OpenShift의 특정 노드에 제어 Pod를 할당하려면 Pod 사양에서 node_selector
필드와 topology_spread_constraints
필드를 사용하는 조합이 사용됩니다. node_selector
필드를 사용하면 Pod를 호스팅할 수 있도록 노드가 일치해야 하는 라벨 기준을 지정할 수 있습니다. 예를 들어 aap_node_type: control
라벨이 있는 노드가 있는 경우 Pod 사양에 다음을 지정하여 이 노드에 Pod를 할당합니다.
spec: ... node_selector: | aap_node_type: control
topology_spread_constraints
는 aap_node_type: control
레이블이 1인 노드에서 예약할 수 있는 최대 Pod 수(maxSkew
)를 설정합니다. topologyKey
는 노드의 호스트 이름을 나타내는 기본 제공 레이블인 kubernetes.io/hostname
로 설정됩니다. whenUnsatisfiable
설정이 ScheduleAnyway
로 설정되어 제약 조건을 충족하는 데 필요한 레이블이 있는 노드가 충분하지 않은 경우 Pod를 예약할 수 있습니다. labelSelector
는 aap_node_type: control
레이블이 있는 Pod와 일치합니다. 이 문제의 영향은 Red Hat OpenShift가 노드당 단일 컨트롤러 Pod 예약을 우선시한다는 것입니다. 그러나 사용 가능한 작업자 노드보다 복제본 요청이 더 많은 경우 Red Hat OpenShift를 사용하면 리소스가 충분한 경우 동일한 기존 작업자 노드에서 여러 컨트롤러 Pod를 예약할 수 있습니다.
tolerations
섹션은 라벨이 dedicated: AutomationController
인 노드에서만 Pod를 예약할 수 있도록 지정합니다. 허용 오차의 영향은 NoSchedule
로 설정되어 필수 라벨이 없는 노드에 Pod를 예약하지 않도록 합니다. 이는 topology_spread_contstraints
와 결합하여 Pod를 노드에 분배하는 방법뿐만 아니라 예약할 수 있는 노드를 나타내는 데 사용됩니다.
spec: ... topology_spread_constraints: | - maxSkew: 1 topologyKey: "kubernetes.io/hostname" whenUnsatisfiable: "ScheduleAnyway" labelSelector: matchLabels: aap_node_type: control tolerations: | - key: "dedicated" operator: "Equal" value: "AutomationController" effect: "NoSchedule"
노드 레이블 및 테인트의 애플리케이션은 부록 C. Red Hat OpenShift 노드에 레이블 및 테인트 적용 내에서 확인할 수 있습니다. 사양 파일에 노드 선택기, 토폴로지 제약 조건 및 허용 오차를 추가하는 단계는 6장. 자동화 컨트롤러 설치 에 표시됩니다.