25장. Apache Kafka의 스트림 업그레이드
Streams for Apache Kafka 설치를 버전 2.7로 업그레이드하고 새로운 기능, 성능 개선 및 향상된 보안 옵션을 활용할 수 있습니다. 업그레이드 중에 Kafka가 지원되는 최신 버전으로 업데이트되어 Apache Kafka 배포를 위한 Streams에 추가 기능 및 버그 수정이 도입되었습니다.
초기 배포 방법으로 Cluster Operator를 업그레이드하려면 동일한 방법을 사용합니다. 예를 들어, Apache Kafka 설치 파일의 Streams를 사용한 경우 해당 파일을 수정하여 업그레이드를 수행합니다. Cluster Operator를 2.7로 업그레이드한 후 다음 단계는 모든 Kafka 노드를 지원되는 최신 Kafka 버전으로 업그레이드하는 것입니다. Kafka 업그레이드는 Kafka 노드의 롤링 업데이트를 통해 Cluster Operator에 의해 수행됩니다.
새 버전에 문제가 발생하면 Apache Kafka용 Streams를 이전 버전으로 다운그레이드 할 수 있습니다.
Apache Kafka 버전용 릴리스 스트림은 Apache Kafka 소프트웨어 다운로드용 Streams에서 찾을 수 있습니다.
다운타임 없이 업그레이드
고가용성(최소 3 및 균등하게 분산 파티션의 복제 요소)으로 구성된 주제의 경우 업그레이드 프로세스에서 소비자 및 생산자의 다운타임을 유발하지 않아야 합니다.
업그레이드는 프로세스의 다른 단계에서 브로커를 하나씩 다시 시작하는 롤링 업데이트를 트리거합니다. 이 기간 동안 전체 클러스터 가용성이 일시적으로 줄어들어 브로커가 실패할 경우 메시지 손실 위험이 증가할 수 있습니다.
25.1. 필수 업그레이드 순서 링크 복사링크가 클립보드에 복사되었습니다!
다운타임 없이 브로커 및 클라이언트를 업그레이드하려면 다음 순서로 Apache Kafka 업그레이드 절차를 완료해야 합니다.
OpenShift 클러스터 버전이 지원되는지 확인합니다.
Apache Kafka 2.7의 스트림에는 OpenShift 4.12 ~ 4.15가 필요합니다.
다운타임을 최소화하여 OpenShift를 업그레이드할 수 있습니다.
- Cluster Operator를 업그레이드합니다.
클러스터 구성에 따라 Kafka를 업그레이드합니다.
-
KRaft 모드에서 Kafka를 사용하는 경우 Kafka 버전 및
spec.kafka.metadataVersion을 업데이트하여 모든 Kafka 브로커 및 클라이언트 애플리케이션을 업그레이드 합니다. -
Zoo Cryostat 기반 Kafka를 사용하는 경우 Kafka 버전과
inter.broker.protocol.version을 업데이트하여 모든 Kafka 브로커 및 클라이언트 애플리케이션을 업그레이드 합니다.
-
KRaft 모드에서 Kafka를 사용하는 경우 Kafka 버전 및
Streams for Apache Kafka 2.7에서 KRaft 기반 클러스터 간의 업그레이드 및 다운그레이드가 지원됩니다.