32장. Apache Kafka용 다운그레이드 스트림


업그레이드한 Apache Kafka의 Streams 버전에 문제가 있는 경우 이전 버전으로 되돌릴 수 있습니다.

YAML 설치 파일을 사용하여 Apache Kafka용 Streams를 설치한 경우 이전 릴리스의 파일을 사용하여 다운그레이드를 수행할 수 있습니다.

Apache Kafka의 다운그레이드 Streams에는 다음 두 가지 주요 단계가 포함됩니다.

  1. Kafka 클러스터를 대상 Cluster Operator(필요한 경우)에서 지원하는 버전으로 다운그레이드합니다.
  2. Cluster Operator를 이전 릴리스로 다운그레이드합니다.

여러 버전을 다운그레이드하는 경우 이러한 단계를 반복해야 할 수 있습니다.

호환성을 유지하기 위해 Cluster Operator보다 먼저 Kafka를 다운그레이드합니다. 대상 Cluster Operator에서 다운그레이드할 Kafka 버전이 지원되는지 확인합니다. Kafka 클러스터의 메타데이터 버전은 다운그레이드된 Kafka 버전에서 지원하는 최대 버전보다 크지 않아야 합니다.

주의

다음 다운그레이드 지침은 설치 파일을 사용하여 Apache Kafka용 Streams를 설치한 경우에만 적합합니다. OperatorHub와 같은 다른 방법을 사용하여 Apache Kafka용 Streams를 설치한 경우 문서에 지정하지 않는 한 해당 방법으로 다운그레이드가 지원되지 않을 수 있습니다.

32.1. Kafka 클러스터 및 클라이언트 애플리케이션 다운그레이드

메타데이터 형식이 호환되는 경우에만 Kafka 클러스터를 이전 버전으로 다운그레이드할 수 있습니다. Kafka는 현재 Kafka 버전과 대상 버전 간에 메타데이터 변경 사항이 없는 경우에만 다운그레이드를 허용합니다. 실제로 클러스터의 메타데이터 버전을 대상 Kafka 버전이 지원하는 값으로 설정해야 하며 두 버전 간에 메타데이터 변경 사항을 개입하지 않아야 합니다.

중요

클러스터가 이미 현재 릴리스의 최신 메타데이터 버전을 사용하고 있는 경우 다운그레이드할 수 없습니다. 다운그레이드는 현재 및 대상 Kafka 버전에서 유효한 메타데이터 형식이 있는 경우에만 가능합니다. 지원되는 메타데이터 버전 값 및 다운그레이드 제한에 대한 자세한 내용은 Apache Kafka 설명서를 참조하십시오.

사전 요구 사항

  • Cluster Operator가 실행 중입니다.
  • Kafka 클러스터를 다운그레이드하기 전에 Kafka 리소스에서 다음을 확인합니다.

    • Kafka 사용자 정의 리소스에는 대상 Kafka 버전에서 지원하지 않는 옵션이 포함되어 있지 않습니다.
    • 대상 Kafka 버전은 사용할 메타데이터 버전 (spec.kafka.metadataVersion)을 지원합니다.

Kafka 사용자 정의 리소스의 상태를 확인하여 현재 Kafka 및 메타데이터 버전을 확인할 수 있습니다.

프로세스

  1. Kafka 클러스터 구성을 업데이트합니다.

    kubectl edit kafka <kafka_configuration_file>
  2. metadataVersion 버전을 현재 Kafka 버전과 대상 버전에서 모두 지원하는 값으로 변경합니다. Kafka 버전은 이 메타데이터 형식으로 작동할 수 있어야 합니다.

    현재 Kafka 버전에서 변경하지 않고 Kafka.spec.kafka.version 을 그대로 둡니다.

    예를 들어 Kafka 4.0.0에서 3.9.0으로 다운그레이드하는 경우 다음을 수행합니다.

    apiVersion: kafka.strimzi.io/v1beta2
    kind: Kafka
    metadata:
      name: my-cluster
      annotations:
        strimzi.io/node-pools: enabled
        strimzi.io/kraft: enabled
    spec:
      kafka:
        replicas: 3
        metadataVersion: 3.9-IV0 
    1
    
        version: 4.0.0 
    2
    
        # ...
    1
    메타데이터 버전은 이전 Kafka 버전에서 지원하는 버전으로 변경됩니다.
    2
    Kafka 버전은 변경되지 않습니다.
    참고

    metadataVersion 의 값은 부동 소수점 숫자로 해석되지 않도록 문자열이어야 합니다.

  3. 변경 사항을 저장하고 Cluster Operator가 Kafka 리소스의 .status.kafkaMetadataVersion 을 업데이트할 때까지 기다립니다.
  4. Kafka.spec.kafka.version 을 이전 버전으로 변경합니다.

    예를 들어 Kafka 4.0.0에서 3.9.0으로 다운그레이드하는 경우 다음을 수행합니다.

    apiVersion: kafka.strimzi.io/v1beta2
    kind: Kafka
    metadata:
      name: my-cluster
      annotations:
        strimzi.io/node-pools: enabled
        strimzi.io/kraft: enabled
    spec:
      kafka:
        replicas: 3
        metadataVersion: 3.9-IV0 
    1
    
        version: 3.9.0 
    2
    
        # ...
    1
    메타데이터 버전은 Kafka 버전에서 지원합니다.
    2
    Kafka 버전이 새 버전으로 변경되었습니다.
  5. Kafka 버전의 이미지가 Cluster Operator의 STRIMZI_KAFKA_IMAGES 에 정의된 이미지와 다른 경우 Kafka.spec.kafka.image 를 업데이트합니다.

    31.2.3절. “Kafka 버전 및 이미지 매핑”을 참조하십시오.

  6. Cluster Operator가 클러스터를 업데이트할 때까지 기다립니다.

    Kafka 리소스 상태에서 다운그레이드가 성공적으로 완료되었는지 확인할 수 있습니다.

  7. 이전 버전의 클라이언트 바이너리를 사용하도록 모든 클라이언트 애플리케이션(consumers)을 다운그레이드합니다.

    Kafka 클러스터 및 클라이언트는 이제 이전 Kafka 버전을 사용하고 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

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

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

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

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동