32장. Apache Kafka용 다운그레이드 스트림
업그레이드한 Apache Kafka의 Streams 버전에 문제가 있는 경우 이전 버전으로 되돌릴 수 있습니다.
YAML 설치 파일을 사용하여 Apache Kafka용 Streams를 설치한 경우 이전 릴리스의 파일을 사용하여 다운그레이드를 수행할 수 있습니다.
Apache Kafka의 다운그레이드 Streams에는 다음 두 가지 주요 단계가 포함됩니다.
- Kafka 클러스터를 대상 Cluster Operator(필요한 경우)에서 지원하는 버전으로 다운그레이드합니다.
- 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 및 메타데이터 버전을 확인할 수 있습니다.
프로세스
Kafka 클러스터 구성을 업데이트합니다.
kubectl edit kafka <kafka_configuration_file>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-IV01 version: 4.0.02 # ...-
변경 사항을 저장하고 Cluster Operator가
Kafka리소스의.status.kafkaMetadataVersion을 업데이트할 때까지 기다립니다. 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-IV01 version: 3.9.02 # ...Kafka 버전의 이미지가 Cluster Operator의
STRIMZI_KAFKA_IMAGES에 정의된 이미지와 다른 경우Kafka.spec.kafka.image를 업데이트합니다.31.2.3절. “Kafka 버전 및 이미지 매핑”을 참조하십시오.
Cluster Operator가 클러스터를 업데이트할 때까지 기다립니다.
이전 버전의 클라이언트 바이너리를 사용하도록 모든 클라이언트 애플리케이션(consumers)을 다운그레이드합니다.
Kafka 클러스터 및 클라이언트는 이제 이전 Kafka 버전을 사용하고 있습니다.