1.2. Apache Kafka Operator용 스트림


Apache Kafka Operator용 스트림은 OpenShift에서 Kafka를 효과적으로 관리하기 위해 전문 운영 지식을 갖추고 있습니다. 각 Operator는 고유한 기능을 수행합니다.

Cluster Operator
Cluster Operator는 OpenShift에서 Apache Kafka 클러스터의 배포 및 관리를 처리합니다. Kafka 브로커 및 기타 Kafka 구성 요소 및 리소스의 설정을 자동화합니다.
주제 Operator
Topic Operator는 Kafka 클러스터 내의 주제 생성, 구성 및 삭제를 관리합니다.
사용자 Operator
User Operator는 Kafka 브로커에 액세스해야 하는 Kafka 사용자를 관리합니다.

Apache Kafka용 Streams를 배포할 때 먼저 Cluster Operator를 배포합니다. 그런 다음 Cluster Operator가 Kafka 배포를 처리할 준비가 되었습니다. Cluster Operator(권장) 또는 독립 실행형 Operator를 사용하여 Topic Operator 및 User Operator를 배포할 수도 있습니다. Cluster Operator에서 관리하지 않는 Kafka 클러스터와 함께 독립 실행형 Operator를 사용합니다.

Topic Operator 및 User Operator는 Entity Operator의 일부입니다. Cluster Operator는 Entity Operator 구성에 따라 Operator를 하나 또는 둘 다 배포할 수 있습니다.

중요

독립 실행형 Operator를 배포하려면 Kafka 클러스터에 연결할 환경 변수를 설정해야 합니다. Cluster Operator에 의해 설정되므로 Operator를 배포하는 경우 이러한 환경 변수를 설정할 필요가 없습니다.

1.2.1. OpenShift 네임스페이스에서 Apache Kafka 리소스에 대한 스트림 감시

Operator는 OpenShift 네임스페이스에서 Apache Kafka 리소스에 대한 Streams를 감시하고 관리합니다. Cluster Operator는 OpenShift 클러스터의 단일 네임스페이스, 여러 네임스페이스 또는 모든 네임스페이스를 조사할 수 있습니다. Topic Operator 및 User Operator는 단일 네임스페이스를 조사할 수 있습니다.

  • Cluster Operator에서 Kafka 리소스 감시
  • Topic Operator는 KafkaTopic 리소스 감시
  • User Operator는 KafkaUser 리소스 감시

Topic Operator 및 User Operator는 네임스페이스에서 단일 Kafka 클러스터만 조사할 수 있습니다. 또한 단일 Kafka 클러스터에만 연결할 수 있습니다.

여러 Topic Operator가 동일한 네임스페이스를 조사하는 경우 이름 충돌 및 주제 삭제가 발생할 수 있습니다. 이는 각 Kafka 클러스터에서 이름이 동일한 Kafka 주제(예: __consumer_offsets)를 사용하기 때문입니다. 하나의 Topic Operator만 지정된 네임스페이스를 감시하는지 확인합니다.

단일 네임스페이스가 있는 여러 User Operator를 사용하는 경우 지정된 사용자 이름이 있는 사용자가 두 개 이상의 Kafka 클러스터에 존재할 수 있습니다.

Cluster Operator를 사용하여 Topic Operator 및 User Operator를 배포하는 경우 기본적으로 Cluster Operator에서 배포한 Kafka 클러스터를 확인합니다. Operator 구성에서 watchedNamespace 를 사용하여 네임스페이스를 지정할 수도 있습니다.

각 Operator의 독립 실행형 배포의 경우 구성에서 조사할 Kafka 클러스터에 대한 네임스페이스 및 연결을 지정합니다.

1.2.2. RBAC 리소스 관리

Cluster Operator는 OpenShift 리소스에 액세스해야 하는 Apache Kafka 구성 요소용 Streams에 대한 RBAC(역할 기반 액세스 제어) 리소스를 생성하고 관리합니다.

Cluster Operator가 작동하려면 KafkaKafkaConnect 와 같은 Kafka 리소스와 상호 작용하기 위해 ConfigMap,Pod,Deployment, Service 와 같은 관리형 리소스와 상호 작용하려면 OpenShift 클러스터 내에서 권한이 필요합니다.

권한은 다음 OpenShift RBAC 리소스를 통해 지정됩니다.

  • ServiceAccount
  • RoleClusterRole
  • RoleBindingClusterRoleBinding

1.2.2.1. Apache Kafka 구성 요소에 대한 Streams에 권한 위임

Cluster Operator는 strimzi-cluster-operator 라는 서비스 계정에서 실행됩니다. Apache Kafka 구성 요소에 대한 Streams에 대한 RBAC 리소스를 생성할 수 있는 권한을 부여하는 클러스터 역할이 할당됩니다. 역할 바인딩은 클러스터 역할을 서비스 계정과 연결합니다.

OpenShift는 하나의 ServiceAccount 에서 작동하는 구성 요소가 ServiceAccount 에 없는 다른 ServiceAccount 권한을 부여하지 못하도록 합니다. Cluster Operator는 관리하는 리소스에 필요한 RoleBindingClusterRoleBinding RBAC 리소스를 생성하므로 동일한 권한을 부여하는 역할이 필요합니다.

다음 섹션에서는 Cluster Operator에 필요한 RBAC 리소스에 대해 설명합니다.

1.2.2.2. ClusterRole 리소스

Cluster Operator는 ClusterRole 리소스를 사용하여 리소스에 필요한 액세스 권한을 제공합니다. OpenShift 클러스터 설정에 따라 클러스터 관리자가 클러스터 역할을 생성해야 할 수 있습니다.

참고

클러스터 관리자 권한은 ClusterRole 리소스 생성에만 필요합니다. Cluster Operator는 클러스터 관리자 계정에서 실행되지 않습니다.

RBAC 리소스는 최소 권한 원칙을 따르고 Kafka 구성 요소의 클러스터를 작동하는 데 Cluster Operator에 필요한 권한만 포함합니다.

권한을 위임하려면 모든 클러스터 역할이 Cluster Operator에 필요합니다.

Expand
표 1.3. ClusterRole 리소스
이름설명

strimzi-cluster-operator-namespaced

피연산자를 배포 및 관리하기 위해 Cluster Operator에서 사용하는 네임스페이스 범위 리소스에 대한 액세스 권한입니다.

strimzi-cluster-operator-global

피연산자를 배포 및 관리하기 위해 Cluster Operator에서 사용하는 클러스터 범위 리소스에 대한 액세스 권한.

strimzi-cluster-operator-leader-election

리더 선택을 위해 Cluster Operator가 사용하는 액세스 권한

strimzi-cluster-operator-watched

Cluster Operator가 Apache Kafka 사용자 정의 리소스에 대한 Streams를 감시하고 관리하는 데 사용하는 액세스 권한.

strimzi-kafka-broker

랙 인식이 사용되는 경우 Kafka 브로커가 OpenShift 작업자 노드에서 토폴로지 레이블을 가져올 수 있도록 허용하는 액세스 권한입니다.

strimzi-entity-operator

Kafka 사용자 및 주제를 관리하기 위해 Topic 및 User Operators에서 사용하는 권한에 액세스합니다.

strimzi-kafka-client

랙 인식이 사용될 때 Kafka Connect,MirrorMaker(1 및 2) 및 Kafka Bridge를 허용하여 OpenShift 작업자 노드에서 토폴로지 레이블을 가져올 수 있는 액세스 권한입니다.

1.2.2.3. ClusterRoleBinding 리소스

Cluster Operator는 ClusterRoleBindingRoleBinding 리소스를 사용하여 ClusterRoleServiceAccount 와 연결합니다. 클러스터 역할 바인딩은 클러스터 범위 리소스가 포함된 클러스터 역할에 필요합니다.

Expand
표 1.4. ClusterRoleBinding 리소스
이름설명

strimzi-cluster-operator

strimzi-cluster-operator-global 클러스터 역할의 권한을 Cluster Operator에 부여합니다.

strimzi-cluster-operator-kafka-broker-delegation

Cluster Operator에 strimzi-entity-operator 클러스터 역할의 권한을 부여합니다.

strimzi-cluster-operator-kafka-client-delegation

strimzi-kafka-client 클러스터 역할의 권한을 Cluster Operator에 부여합니다.

Expand
표 1.5. RoleBinding 리소스
이름설명

strimzi-cluster-operator

strimzi-cluster-operator-namespaced 클러스터 역할의 권한을 Cluster Operator에 부여합니다.

strimzi-cluster-operator-leader-election

Cluster Operator에 strimzi-cluster-operator-leader-election 클러스터 역할의 권한을 부여합니다.

strimzi-cluster-operator-watched

strimzi-cluster-operator-watched 클러스터 역할의 권한을 Cluster Operator에 부여합니다.

strimzi-cluster-operator-entity-operator-delegation

Cluster Operator에 strimzi-cluster-operator-entity-operator-delegation 클러스터 역할의 권한을 부여합니다.

1.2.2.4. ServiceAccount 리소스

Cluster Operator는 strimzi-cluster-operator ServiceAccount 를 사용하여 실행됩니다. 이 서비스 계정은 피연산자를 관리하는 데 필요한 권한을 부여합니다. Cluster Operator는 추가 ClusterRoleBindingRoleBinding 리소스를 생성하여 이러한 RBAC 권한 중 일부를 피연산자에 위임합니다.

각 피연산자는 Cluster Operator가 생성한 자체 서비스 계정을 사용합니다. 이를 통해 Cluster Operator는 최소 권한 원칙을 따르고 피연산자가 실제로 필요한 액세스 권한만 부여할 수 있습니다.

Expand
표 1.6. ServiceAccount 리소스
이름사용자

<cluster_name>-zookeeper

Zookeeper Pod

<cluster_name>-kafka

Kafka 브로커 Pod

<cluster_name>-entity-operator

Entity Operator

<cluster_name>-cruise-control

cruise Control Pod

<cluster_name>-kafka-exporter

Kafka Exporter Pod

<cluster_name>-connect

Kafka Connect Pod

<cluster_name>-mirror-maker

MirrorMaker Pod

<cluster_name>-mirrormaker2

MirrorMaker 2 Pod

<cluster_name>-bridge

Kafka 브리지 Pod

1.2.3. Pod 리소스 관리

StrimziPodSet 사용자 정의 리소스는 Streams for Apache Kafka에서 Kafka, Kafka Connect 및 MirrorMaker 2 Pod를 생성하고 관리하는 데 사용됩니다. Zoo Cryostat를 사용하는 경우, Zoo Cryostat Pod도 StrimziPodSet 리소스를 사용하여 생성 및 관리됩니다.

StrimziPodSet 리소스를 생성, 업데이트 또는 삭제할 수 없습니다. StrimziPodSet 사용자 정의 리소스는 내부적으로 사용되며 리소스는 Cluster Operator에 의해서만 관리됩니다. 결과적으로 Pod를 시작하지 않고 Kafka 클러스터를 사용할 수 없는 가능성을 방지하려면 Cluster Operator가 제대로 실행되고 있어야 합니다.

참고

OpenShift 배포 리소스는 Kafka Bridge, Kafka Exporter, Cruise Control, (precated) MirrorMaker 1, User Operator 및 Topic Operator의 Pod를 생성하고 관리하는 데 사용됩니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat