10.3.7. 별도의 브로커 및 컨트롤러 역할로 전환


다음 절차에서는 별도의 역할이 있는 노드 풀 사용으로 전환하는 방법을 설명합니다. Kafka 클러스터에서 컨트롤러 및 브로커 역할이 결합된 노드 풀을 사용하는 경우 별도의 역할이 있는 두 개의 노드 풀을 사용하여 전환할 수 있습니다. 이렇게 하려면 브로커 전용 역할이 있는 노드 풀로 파티션 복제본을 이동하도록 클러스터를 재조정한 다음 이전 노드 풀을 컨트롤러 전용 역할로 전환합니다.

이 절차에서는 controllerbroker 역할이 있는 노드 풀 풀(a )으로 시작합니다.

듀얼 역할 노드 풀

apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaNodePool
metadata:
  name: pool-a
  labels:
    strimzi.io/cluster: my-cluster
spec:
  replicas: 3
  roles:
    - controller
    - broker
  storage:
    type: jbod
    volumes:
      - id: 0
        type: persistent-claim
        size: 20Gi
        deleteClaim: false
  # ...

노드 풀에는 세 개의 노드가 있습니다.

노드 풀의 Kafka 노드

NAME                 READY  STATUS   RESTARTS
my-cluster-pool-a-0  1/1    Running  0
my-cluster-pool-a-1  1/1    Running  0
my-cluster-pool-a-2  1/1    Running  0

각 노드는 브로커 및 컨트롤러의 결합된 역할을 수행합니다. 브로커로만 작동하는 노드 3개를 사용하여 pool-b 라는 두 번째 노드 풀을 생성합니다.

참고

이 프로세스 중에 파티션 복제본이 있는 노드의 ID가 변경됩니다. 노드 ID를 참조하는 종속 항목을 고려하십시오.

프로세스

  1. 브로커 역할을 사용하여 노드 풀을 생성합니다.

    노드 풀 구성의 예

    apiVersion: kafka.strimzi.io/v1beta2
    kind: KafkaNodePool
    metadata:
      name: pool-b
      labels:
        strimzi.io/cluster: my-cluster
    spec:
      replicas: 3
      roles:
        - broker
      storage:
        type: jbod
        volumes:
          - id: 0
            type: persistent-claim
            size: 100Gi
            deleteClaim: false
      # ...

    새 노드 풀에는 세 개의 노드도 있습니다. 브로커 전용 노드 풀이 이미 있는 경우 이 단계를 건너뛸 수 있습니다.

  2. KafkaNodePool 리소스를 적용하여 브로커를 생성합니다.
  3. 배포 상태를 확인하고 노드 풀의 포드가 생성되고 준비될 때까지 기다립니다(1/1).

    oc get pods -n <my_cluster_operator_namespace>

    출력에서 두 노드 풀에서 실행 중인 Pod 표시

    NAME                 READY  STATUS   RESTARTS
    my-cluster-pool-a-0  1/1    Running  0
    my-cluster-pool-a-1  1/1    Running  0
    my-cluster-pool-a-2  1/1    Running  0
    my-cluster-pool-b-3  1/1    Running  0
    my-cluster-pool-b-4  1/1    Running  0
    my-cluster-pool-b-5  1/1    Running  0

    노드 ID는 생성 시 노드 이름에 추가됩니다.

  4. Cruise Control remove-brokers 모드를 사용하여 이중 역할 노드에서 새로 추가된 브로커에 파티션 복제본을 다시 할당합니다.

    Cruise Control을 사용하여 파티션 복제본 재할당

    apiVersion: kafka.strimzi.io/v1beta2
    kind: KafkaRebalance
    metadata:
      # ...
    spec:
      mode: remove-brokers
      brokers: [0, 1, 2]

    재할당은 클러스터의 주제 및 파티션 수에 따라 다소 시간이 걸릴 수 있습니다.

    참고

    노드가 컨트롤러 전용 역할로 변경되면 파티션이 할당되지 않습니다. Kafka 리소스의 status.conditions 는 변경을 방지하는 이벤트에 대한 세부 정보를 제공합니다.

  5. 원래 결합된 역할이 있는 노드 풀에서 브로커 역할을 제거합니다.

    컨트롤러로 전환된 듀얼 역할 노드

    apiVersion: kafka.strimzi.io/v1beta2
    kind: KafkaNodePool
    metadata:
      name: pool-a
      labels:
        strimzi.io/cluster: my-cluster
    spec:
      replicas: 3
      roles:
        - controller
      storage:
        type: jbod
        volumes:
          - id: 0
            type: persistent-claim
            size: 20Gi
            deleteClaim: false
      # ...

  6. 노드 풀이 컨트롤러 전용 역할로 전환되도록 구성 변경을 적용합니다.
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

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

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

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

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동