9.4. Kafka 주제 구성


KafkaTopic 리소스의 속성을 사용하여 Kafka 주제를 구성합니다. KafkaTopic 의 주제 구성 변경 사항은 Kafka로 전파됩니다.

oc apply 를 사용하여 주제를 만들거나 수정하고 oc delete 를 사용하여 기존 주제를 삭제할 수 있습니다.

예를 들면 다음과 같습니다.

  • oc apply -f <topic_config_file>
  • oc delete KafkaTopic <topic_name>

주제를 삭제할 수 있으려면 Kafka 리소스의 spec.kafka.config 에서 delete.topic.enabletrue (기본값)로 설정해야 합니다.

다음 절차에서는 10개의 파티션과 2개의 복제본으로 주제를 생성하는 방법을 설명합니다.

참고

절차는 주제 관리의 양방향 및 (preview) 모드에 대해 동일합니다.

사전 준비 사항

KafkaTopic 리소스는 다음 변경을 허용하지 않습니다.

  • spec.topicName 에 정의된 주제의 이름을 변경합니다. spec.topicNamestatus.topicName 간의 불일치가 감지됩니다.
  • spec.partitions 를 사용하여 파티션 수를 줄입니다( Kafka에서 지원되지 않음).
  • spec.replicas 에 지정된 복제본 수 수정
주의

키가 있는 주제의 spec.partitions 를 늘리면 레코드 파티셔닝이 변경되어 특히 주제에서 시맨틱 파티셔닝을 사용하는 경우 문제가 발생할 수 있습니다.

사전 요구 사항

  • mTLS 인증 및 TLS 암호화를 사용하는 Kafka 브로커 리스너로 구성된 실행 중인 Kafka 클러스터입니다.
  • 실행 중인 Topic Operator(일반적으로 Entity Operator를 사용하여 배포)
  • Kafka 리소스의 spec.kafka.config 에 있는 delete.topic.enable=true (default)를 삭제합니다.

절차

  1. KafkaTopic 리소스를 구성합니다.

    Kafka 주제 구성의 예

    apiVersion: kafka.strimzi.io/v1beta2
    kind: KafkaTopic
    metadata:
      name: my-topic-1
      labels:
        strimzi.io/cluster: my-cluster
    spec:
      partitions: 10
      replicas: 2

    작은 정보

    주제를 수정할 때 oc get kafkatopic my-topic-1 -o yaml 을 사용하여 현재 버전의 리소스를 가져올 수 있습니다.

  2. OpenShift에서 KafkaTopic 리소스를 생성합니다.

    oc apply -f <topic_config_file>
  3. 주제의 준비 상태가 True 로 변경될 때까지 기다립니다.

    oc get kafkatopics -o wide -w -n <namespace>

    Kafka 주제 상태

    NAME         CLUSTER     PARTITIONS  REPLICATION FACTOR READY
    my-topic-1   my-cluster  10          3                  True
    my-topic-2   my-cluster  10          3
    my-topic-3   my-cluster  10          3                  True

    READY 출력에 True 가 표시되면 주제 생성에 성공합니다.

  4. READY 열이 비어 있으면 리소스 YAML 또는 Topic Operator 로그에서 상태에 대한 자세한 정보를 가져옵니다.

    상태 메시지는 현재 상태의 이유에 대한 세부 정보를 제공합니다.

    oc get kafkatopics my-topic-2 -o yaml

    NotReady 상태가 있는 항목에 대한 세부 정보

    # ...
    status:
      conditions:
      - lastTransitionTime: "2022-06-13T10:14:43.351550Z"
        message: Number of partitions cannot be decreased
        reason: PartitionDecreaseException
        status: "True"
        type: NotReady

    이 예에서 주제가 준비되지 않은 이유는 KafkaTopic 구성에서 원래 파티션 수가 감소했기 때문입니다. Kafka는 이를 지원하지 않습니다.

    주제 구성을 재설정하면 상태에 주제가 준비되었음이 표시됩니다.

    oc get kafkatopics my-topic-2 -o wide -w -n <namespace>

    주제의 상태 업데이트

    NAME         CLUSTER     PARTITIONS  REPLICATION FACTOR READY
    my-topic-2   my-cluster  10          3                  True

    세부 정보 가져오기에 메시지가 표시되지 않음

    oc get kafkatopics my-topic-2 -o yaml

    READY 상태가 있는 항목에 대한 세부 정보

    # ...
    status:
      conditions:
      - lastTransitionTime: '2022-06-13T10:15:03.761084Z'
        status: 'True'
        type: Ready

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동