10.4.4. 노드 풀을 사용하여 스토리지 관리


Apache Kafka용 Streams의 스토리지 관리는 일반적으로 간단하며 설정할 때 거의 변경되지 않아도 되지만 스토리지 구성을 수정해야 하는 상황이 있을 수 있습니다. 노드 풀은 새 스토리지 요구 사항을 지정하는 별도의 노드 풀을 설정할 수 있으므로 이 프로세스를 단순화합니다.

이 절차에서는 세 개의 노드가 포함된 pool-a 노드 풀의 스토리지를 생성하고 관리합니다. 단계를 수행하려면 새 노드 풀을 추가하려면 확장 작업이 필요합니다. 현재는 전용 브로커로 실행되는 노드를 포함하는 브로커 전용 노드 풀에만 스케일링이 가능합니다.

사용하는 영구 스토리지 유형을 정의하는 스토리지 클래스(volume.class)를 변경하는 방법을 보여줍니다. 동일한 단계를 사용하여 스토리지 크기(volume.size )를 변경할 수 있습니다. 이 방법은 디스크 크기를 줄이려는 경우 특히 유용합니다. 디스크 크기를 늘릴 때 영구 볼륨의 크기를 동적으로 조정할 수 있는 옵션이 있습니다.

참고

블록 스토리지를 사용하는 것이 좋습니다. Apache Kafka의 스트림은 블록 스토리지에서만 사용하도록 테스트됩니다.

사전 요구 사항

프로세스

  1. 자체 스토리지 설정으로 노드 풀을 생성합니다.

    예를 들어 노드 풀은 영구 볼륨에서 JBOD 스토리지를 사용합니다.

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

    pool-a 의 노드는 Amazon EBS (Elastic Block Store) GP2 볼륨을 사용하도록 구성되어 있습니다.

  2. pool-a 에 대한 노드 풀 구성을 적용합니다.
  3. 배포 상태를 확인하고 pool-a 의 포드가 생성되고 준비될 때까지 기다립니다(1/1).

    oc get pods -n <my_cluster_operator_namespace>

    출력에 노드 풀의 Kafka 노드 3개가 표시되어 있습니다.

    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

  4. 새 스토리지 클래스로 마이그레이션하려면 필요한 스토리지 구성을 사용하여 새 노드 풀을 생성합니다.

    apiVersion: kafka.strimzi.io/v1beta2
    kind: KafkaNodePool
    metadata:
      name: pool-b
      labels:
        strimzi.io/cluster: my-cluster
    spec:
      roles:
        - broker
      replicas: 3
      storage:
        type: jbod
        volumes:
          - id: 0
            type: persistent-claim
            size: 1Ti
            class: gp3-ebs
      # ...

    pool-b 의 노드는 Amazon EBS (Elastic Block Store) GP3 볼륨을 사용하도록 구성됩니다.

  5. pool-b 에 대한 노드 풀 구성을 적용합니다.
  6. 배포 상태를 확인하고 pool-b 의 포드가 생성되고 준비될 때까지 기다립니다.
  7. pool-a 의 파티션을 pool-b 에 다시 할당합니다.

    새 스토리지 구성으로 마이그레이션할 때 Cruise Control remove-brokers 모드를 사용하여 제거하려는 브로커에서 파티션 복제본을 이동합니다.

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

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

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

  8. 재할당 프로세스가 완료되면 이전 노드 풀을 삭제합니다.

    oc delete kafkanodepool pool-a
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

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

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

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

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동