부록 C. Red Hat OpenShift 노드에 레이블 및 테인트 적용
제어 Pod가 전용 Red Hat OpenShift 노드에서 실행되도록 하려면 적절한 라벨과 테인트를 지정된 노드로 설정해야 합니다.
이 예제에서는 역할 worker
가 aap_node_type=control
레이블을 사용하는 Red Hat OpenShift 노드 중 하나를 선택합니다.
실행 중인 노드에 레이블을 지정할 노드 중 하나의 이름을 가져옵니다.
$ oc get nodes
-
목록에서 노드를 선택하고 해당 이름(예:
worker
1)을 기록해 둡니다. aap_node_type=control
라벨을 노드에 적용$ oc label node <node-name> aap_node_type=control
참고&
lt;node-name
>을 레이블을 지정할 노드 이름으로 바꿉니다.다음과 같이 라벨 생성을 확인합니다.
$ oc get nodes --show-labels | grep <node-name>
레이블이 생성되면 다음 단계는 이미 레이블을 생성한 작업자 노드에
NoSchedule
테인트를 추가하는 것입니다.다음 명령은
NoSchedule
테인트를 노드에 추가합니다.oc adm taint nodes <node-name> dedicated=AutomationController:NoSchedule
dedicated
: 테인트를 식별하는 임의의 문자열인 테인트의 키입니다.AutomationController
: 이 값은 테인트에 지정된 임의의 값입니다.NoSchedule
: 이 테인트를 허용하지 않는 Pod를 지정하지 않는 테인트의 영향으로 이 테인트는 이 노드에 예약됩니다.이 테인트를 노드에 적용하여 Kubernetes 스케줄러에 테인트를 허용하는 특정 유형의 워크로드에 대해 이 노드를 예약하도록 지시합니다. 이 경우 dedicated=AutomationController 허용 오차를 사용하여 워크로드에 노드를 예약합니다.
테인트가 적용되었는지 확인합니다.
$ oc get nodes \ -o jsonpath='{range.items[*]}{@.metadata.name}{"\t"}{@.spec.taints[*].key}:{@.spec.taints[*].value}{"\n"}{end}' \ | grep AutomationController