4.2.2. 노드 선택기
특정 노드 집합에서 미터링 구성 요소를 실행할 수 있습니다. 미터링 구성 요소에서 nodeSelector를 설정하여 구성 요소가 예약된 위치를 제어합니다. 아래 node-selectors.yaml 파일은 각 구성 요소에 대한 노드 선택기를 설정하는 예를 제공합니다.
피연산자 Pod에 대한 특정 노드 선택기를 구성하기 전에 openshift.io/node-selector: "" 네임스페이스 주석을 미터링 네임스페이스 YAML 파일에 추가합니다. 주석 값으로 ""를 지정합니다.
apiVersion: metering.openshift.io/v1
kind: MeteringConfig
metadata:
name: "operator-metering"
spec:
reporting-operator:
spec:
nodeSelector:
"node-role.kubernetes.io/infra": ""
presto:
spec:
coordinator:
nodeSelector:
"node-role.kubernetes.io/infra": ""
worker:
nodeSelector:
"node-role.kubernetes.io/infra": ""
hive:
spec:
metastore:
nodeSelector:
"node-role.kubernetes.io/infra": ""
server:
nodeSelector:
"node-role.kubernetes.io/infra": ""
피연산자 Pod에 대한 특정 노드 선택기를 구성하기 전에 openshift.io/node-selector: "" 네임스페이스 주석을 미터링 네임스페이스 YAML 파일에 추가합니다. 프로젝트에 openshift.io/node-selector 주석이 설정되어 있으면 해당 값은 클러스터 전체 Scheduler 오브젝트에서 spec.defaultNodeSelector 필드의 값보다 우선하여 사용됩니다.
검증
다음 점검 중 하나를 수행하여 미터링 노드 선택기를 확인할 수 있습니다.
MeteringConfig사용자 정의 리소스에 구성된 노드의 IP에 미터링의 모든 Pod가 올바르게 예약되어 있는지 확인합니다.openshift-metering네임스페이스의 모든 Pod를 확인합니다.$ oc --namespace openshift-metering get pods -o wide출력에는
openshift-metering네임스페이스에서 실행되는 각 Pod의NODE및 해당IP가 표시됩니다.출력 예
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES hive-metastore-0 1/2 Running 0 4m33s 10.129.2.26 ip-10-0-210-167.us-east-2.compute.internal <none> <none> hive-server-0 2/3 Running 0 4m21s 10.128.2.26 ip-10-0-150-175.us-east-2.compute.internal <none> <none> metering-operator-964b4fb55-4p699 2/2 Running 0 7h30m 10.131.0.33 ip-10-0-189-6.us-east-2.compute.internal <none> <none> nfs-server 1/1 Running 0 7h30m 10.129.2.24 ip-10-0-210-167.us-east-2.compute.internal <none> <none> presto-coordinator-0 2/2 Running 0 4m8s 10.131.0.35 ip-10-0-189-6.us-east-2.compute.internal <none> <none> reporting-operator-869b854c78-8g2x5 1/2 Running 0 7h27m 10.128.2.25 ip-10-0-150-175.us-east-2.compute.internal <none> <none>openshift-metering네임스페이스의 노드를 클러스터의 각 노드NAME과 비교합니다.$ oc get nodes출력 예
NAME STATUS ROLES AGE VERSION ip-10-0-147-106.us-east-2.compute.internal Ready master 14h v1.19.0+6025c28 ip-10-0-150-175.us-east-2.compute.internal Ready worker 14h v1.19.0+6025c28 ip-10-0-175-23.us-east-2.compute.internal Ready master 14h v1.19.0+6025c28 ip-10-0-189-6.us-east-2.compute.internal Ready worker 14h v1.19.0+6025c28 ip-10-0-205-158.us-east-2.compute.internal Ready master 14h v1.19.0+6025c28 ip-10-0-210-167.us-east-2.compute.internal Ready worker 14h v1.19.0+6025c28
MeteringConfig사용자 정의 리소스의 노드 선택기 구성이 미터링 피연산자 Pod가 예약되지 않도록 클러스터 전체 노드 선택기 설정을 적용하지 않는지 확인합니다.기본적으로 Pod 예약 위치를 표시하는
spec.defaultNodeSelector필드에 대해 클러스터 전체Scheduler오브젝트를 확인합니다.$ oc get schedulers.config.openshift.io cluster -o yaml