10.13.4. 특정 노드에 대한 Pod 예약 구성
OpenShift 클러스터에는 특수 하드웨어(빠른 SSD, 강력한 CPU) 또는 특정 위치(특정 가용성 영역)가 있는 다른 유형의 작업자 노드가 있을 수 있습니다. 성능 및 리소스 사용량을 최적화하려면 Kafka Pod가 요구 사항과 일치하는 노드에서만 예약되도록 nodeAffinity 를 구성합니다.
이 절차에서는 클러스터 전체 Kafka 리소스 및 풀별 KafkaNodePool 리소스에 대한 구성 예제를 제공합니다.
KafkaNodePool.spec.template 을 구성하는 경우 해당 설정에서 해당 노드 풀의 Kafka.spec.kafka.template 을 대체합니다. 속성은 병합되지 않습니다. 자세한 내용은 스케줄링 전략을 참조하십시오.
사전 요구 사항
- Cluster Operator를 배포해야 합니다.
-
작업자 노드는 특정 특성(예:
disk:sdd)을 식별하도록 레이블이 지정됩니다.
프로세스
kafka 포드를 예약할 때 작업자 노드에 레이블을 지정하여 식별합니다.
oc label node <name_of_node> disk=sddKafka또는KafkaNodePool리소스에서 라벨과 일치하도록nodeAffinity를 구성합니다.-
클러스터 전체 규칙을 설정하려면
Kafka리소스의spec.kafka.template.pod에서affinity속성을 편집합니다. -
풀별 규칙을 설정하려면
KafkaNodePool리소스의spec.template.pod에서affinity속성을 편집합니다.
두 경우 모두
matchExpressions와nodeSelectorTerms를 사용하여 Pod를 예약하려는 노드의 key-value 레이블을 지정합니다.이 예에서는 모든 브로커 Pod를 할당하여 레이블
disk: ssd가 있는 노드에서만 실행되도록Kafka리소스에 규칙을 적용합니다.특정 노드에 대한 클러스터 전체 선호도 구성의 예
apiVersion: kafka.strimzi.io/v1beta2 kind: Kafka metadata: name: my-cluster spec: kafka: # ... template: pod: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: disk operator: In values: - sdd # ...노드 풀에 대한 가용성 영역 스케줄링의 예
노드 풀의 경우 일반적인 프로덕션 시나리오는 지정된 가용성 영역 내의 노드에서만 Pod가 예약되도록 노드 풀을 구성하는 것입니다. 자세한 내용은 노드 풀을 사용하여 스토리지 유사성 관리를참조하십시오.
-
클러스터 전체 규칙을 설정하려면
- 사용자 정의 리소스 구성에 변경 사항을 적용합니다.