10.13.2. Kafka 노드의 Pod 유사성 방지 구성


내결함성을 개선하기 위해 여러 Kafka 브로커 Pod가 동일한 작업자 노드에서 실행되지 않도록 할 수 있습니다. Pod가 다른 작업자 노드에 예약되도록 podAntiAffinity 를 구성합니다.

이 절차에서는 클러스터 전체 Kafka 리소스 및 풀별 KafkaNodePool 리소스에 대한 구성 예제를 제공합니다.

참고

KafkaNodePool.spec.template 을 구성하는 경우 해당 설정에서 해당 노드 풀의 Kafka.spec.kafka.template 을 대체합니다. 속성은 병합되지 않습니다. 자세한 내용은 스케줄링 전략을 참조하십시오.

프로세스

  1. Kafka 또는 KafkaNodePool 리소스에서 podAntiAffinity 를 구성합니다.

    • 클러스터 전체 규칙을 설정하려면 Kafka 리소스의 spec.kafka.template.pod 에서 affinity 속성을 편집합니다. strimzi.io/name 레이블을 사용하여 모든 브로커 Pod를 선택합니다.
    • 풀별 규칙을 설정하려면 KafkaNodePool 리소스의 spec.template.pod 에서 affinity 속성을 편집합니다. strimzi.io/pool-name 레이블을 사용하여 해당 풀의 Pod만 선택합니다.

    두 경우 모두 topologyKey"kubernetes.io/hostname" 으로 설정하여 Pod가 동일한 호스트에 배치되지 않도록 합니다.

    이 예제에서는 브로커 Pod가 동일한 노드에서 실행되지 않도록 my-cluster 라는 Kafka 리소스에 규칙을 적용합니다.

    클러스터 전체 유사성 방지 구성의 예

    apiVersion: kafka.strimzi.io/v1beta2
    kind: Kafka
    metadata:
      name: my-cluster
    spec:
      kafka:
        # ...
        template:
          pod:
            affinity:
              podAntiAffinity:
                requiredDuringSchedulingIgnoredDuringExecution:
                  - labelSelector:
                      matchExpressions:
                        - key: strimzi.io/name
                          operator: In
                          values:
                            - my-cluster-kafka
                    topologyKey: "kubernetes.io/hostname"
      # ...

    이 예에서는 broker 라는 KafkaNodePool 리소스에 규칙을 적용하여 Pod가 동일한 노드에서 실행되지 않도록 합니다.

    노드 풀별 유사성 방지 구성의 예

    apiVersion: kafka.strimzi.io/v1beta2
    kind: KafkaNodePool
    metadata:
      name: broker
      labels:
        strimzi.io/cluster: my-cluster
    spec:
      replicas: 3
      roles:
        - broker
      template:
        pod:
          affinity:
            podAntiAffinity:
              requiredDuringSchedulingIgnoredDuringExecution:
                - labelSelector:
                    matchExpressions:
                      - key: strimzi.io/pool-name
                        operator: In
                        values:
                          - broker
                  topologyKey: "kubernetes.io/hostname"
      # ...

  2. 사용자 정의 리소스 구성에 변경 사항을 적용합니다.
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동