6장. AMQ Streams Operator
AMQ Streams는 Operator 를 사용하는 Kafka를 지원하여 OpenShift에 Kafka의 구성 요소 및 종속 항목을 배포하고 관리합니다.
Operator는 OpenShift 애플리케이션을 패키징, 배포 및 관리하는 방법입니다. AMQ Streams Operator는 OpenShift 기능을 확장하여 Kafka 배포와 관련된 일반 및 복잡한 작업을 자동화합니다. 코드에서 Kafka 작업에 대한 지식을 구현하면 Kafka 관리 작업이 간소화되고 수동 개입이 줄어듭니다.
Operator
AMQ Streams는 OpenShift 클러스터 내에서 실행 중인 Kafka 클러스터를 관리하기 위한 Operator를 제공합니다.
- Cluster Operator
- Apache Kafka 클러스터, Kafka Connect, Kafka MirrorMaker, Kafka Bridge, Kafka Exporter, Cruise Control 및 Entity Operator를 배포 및 관리합니다.
- 엔터티 Operator
- 주제 Operator 및 사용자 Operator로 구성
- 주제 Operator
- Kafka 주제 관리
- User Operator
- Kafka 사용자 관리
Cluster Operator는 Kafka 클러스터와 동시에 Topic Operator 및 User Operator를 Entity Operator 구성의 일부로 배포할 수 있습니다.
AMQ Streams 아키텍처 내의 Operator
6.1. Cluster Operator
AMQ Streams는 Cluster Operator를 사용하여 클러스터를 배포 및 관리합니다. 기본적으로 AMQ Streams를 배포할 때 단일 Cluster Operator 복제본이 배포됩니다. 중단 시 추가 Cluster Operator가 제공되도록 리더 선택으로 복제본을 추가할 수 있습니다.
Cluster Operator는 다음 Kafka 구성 요소의 클러스터를 관리합니다.
- Kafka( ZooKeeper, Entity Operator, Kafka Exporter, Cruise Control 포함)
- Kafka Connect
- Kafka MirrorMaker
- Kafka 브리지
클러스터는 사용자 정의 리소스를 사용하여 배포됩니다.
예를 들어 Kafka 클러스터를 배포하려면 다음을 수행합니다.
-
클러스터 구성이 있는
Kafka
리소스는 OpenShift 클러스터 내에서 생성됩니다. -
Cluster Operator는 Kafka 리소스에 선언된 내용에 따라 해당
Kafka
클러스터를 배포합니다.
Cluster Operator는 Kafka
리소스의 구성을 통해 다음 AMQ Streams Operator를 배포할 수도 있습니다.
-
KafkaTopic
사용자 정의 리소스를 통해 Operator 스타일 주제 관리를 제공하는 topic Operator -
KafkaUser
사용자 정의 리소스를 통해 Operator 스타일 사용자 관리 제공
Topic Operator 및 User Operator는 배포 시 Entity Operator 내에서 작동합니다.
AMQ Streams DrainCleaner 배포와 함께 Cluster Operator를 사용하여 Pod 제거를 지원할 수 있습니다. AMQ Streams DrainCleaner를 배포하면 Cluster Operator를 사용하여 OpenShift 대신 Kafka Pod를 이동할 수 있습니다. AMQ Streams Drain Clearer는 롤링 업데이트 주석으로 제거되는 Pod에 주석을 답니다. 주석은 Cluster Operator에 롤링 업데이트를 수행하도록 알립니다.
Cluster Operator의 아키텍처 예