1.2. AMQ Streams の Operator


AMQ Streams Operator は、専用OpenShift で Kafka を効果的に管理するための専門的な運用知識をベースに特別に構築されています。各 Operator は個別の関数を実行します。

Cluster Operator
Cluster Operator は、OpenShift での Apache Kafka クラスターのデプロイメントおよび管理を処理します。Kafka ブローカーおよびその他の Kafka コンポーネントおよびリソースの設定を自動化します。
Topic Operator
Topic Operator は、Kafka クラスター内でのトピックの作成、設定、および削除を管理します。
User Operator
User Operator は、Kafka ブローカーへのアクセスを必要とする Kafka ユーザーを管理します。

AMQ 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 を 1 つまたは両方デプロイできます。

重要

スタンドアロン Operator をデプロイするには、環境変数を設定して Kafka クラスターに接続する必要があります。これらの環境変数は、Cluster Operator によって設定されるため、Cluster Operator を使用して Operator をデプロイする場合に設定する必要はありません。

1.2.1. OpenShift namespace での AMQ Streams リソースの監視

Operator は、OpenShift namespace で AMQ Streams リソースを監視および管理します。Cluster Operator は、OpenShift クラスター内の単一の名前空間、複数の名前空間、またはすべての名前空間を監視できます。Topic Operator と User Operator は、単一の名前空間を監視できます。

  • Cluster Operator は Kafka リソースを監視します
  • Topic Operator は KafkaTopic リソースを監視します
  • User Operator は KafkaUser リソースを監視します

Topic Operator と User Operator は、名前空間内の単一の Kafka クラスターのみを監視できます。また、単一の Kafka クラスターにのみ接続できます。

複数のトピックオペレーターが同じ名前空間を監視すると、名前の衝突やトピックの削除が発生する可能性があります。これは、各 Kafka クラスターが同じ名前 (__consumer_offsets など) を持つ Kafka トピックを使用するためです。特定の名前空間を監視するトピック Operator が 1 つだけであることを確認してください。

単一の名前空間で複数の User Operator を使用する場合、特定のユーザー名を持つユーザーは複数の Kafka クラスターに存在できます。

Cluster Operator を使用して Topic Operator と User Operator をデプロイすると、デフォルトで Cluster Operator によってデプロイされた Kafka クラスターが監視されます。Operator 設定で watchedNamespace を使用して名前空間を指定することもできます。

各 Operator のスタンドアロンデプロイの場合、設定で監視する名前空間と Kafka クラスターへの接続を指定します。

1.2.2. RBAC リソースの管理

Cluster Operator は、OpenShift リソースへのアクセスが必要な AMQ Streams コンポーネントのロールベースのアクセス制御 (RBAC) リソースを作成および管理します。

Cluster Operator が機能するには、Kafka および KafkaConnect などの Kafka リソースや ConfigMapPodDeploymentService などの管理リソースと対話するために OpenShift クラスター内でパーミッションが必要です。

権限は、以下の OpenShift RBAC リソースを使用して指定します。

  • ServiceAccount
  • Role および ClusterRole
  • RoleBinding および ClusterRoleBinding

1.2.2.1. AMQ Streams コンポーネントへの権限の委譲

Cluster Operator は strimzi-cluster-operator という名前のサービスアカウントで実行されます。このアカウントには、クラスターロールが割り当てられ、AMQ Streams コンポーネントの RBAC リソースを作成するパーミッションが付与されます。ロールバインディングは、クラスターロールをサービスアカウントに関連付けます。

OpenShift は、ある ServiceAccount の下で動作するコンポーネントが、付与元の ServiceAccount に含まれていない、別の ServiceAccount 権限を付与するのを防ぎます。Cluster Operator は管理するリソースが必要とする RoleBinding および ClusterRoleBinding RBAC リソースを作成するため、これに同じ権限を付与するロールが必要です。

以下のセクションでは、Cluster Operator で必要な RBAC リソースについて説明します。

1.2.2.2. ClusterRole リソース

Cluster Operator は ClusterRole リソースを使用して、リソースに必要なアクセスを提供します。OpenShift クラスターの設定によっては、クラスター管理者がクラスターロールを作成する必要になる場合があります。

注記

クラスター管理者の権限は ClusterRole リソースの作成にのみ必要です。Cluster Operator はクラスター管理者アカウントでは実行されません。

RBAC リソースは 最小権限の原則 に従い、Cluster Operator が Kafka コンポーネントのクラスターを操作するために必要な権限のみを含みます。

Cluster Operator が権限を委任するには、すべてのクラスターロールが必要です。

Expand
表1.1 ClusterRole リソース
名前説明

strimzi-cluster-operator-namespaced

Cluster Operator がオペランドのデプロイと管理に使用する名前空間スコープのリソースへのアクセス権。

strimzi-cluster-operator-global

Cluster Operator がオペランドのデプロイと管理に使用するクラスタースコープのリソースへのアクセス権。

strimzi-cluster-operator-leader-election

Cluster Operator がリーダーの選出に使用するアクセス権。

strimzi-cluster-operator-watched

AMQ Streams カスタムリソースを監視および管理するために Cluster Operator によって使用されるアクセス権。

strimzi-kafka-broker

ラックアウェアネスが使用されている場合に、Kafka ブローカーが OpenShift ワーカーノードからトポロジーラベルを取得できるようにするアクセス権。

strimzi-entity-operator

Kafka ユーザーとトピックを管理するためにトピックおよびユーザー Operator によって使用されるアクセス権。

strimzi-kafka-client

ラックアウェアネスが使用されている場合に、Kafka Connect、MirrorMaker (1 および 2)、および Kafka Bridge が OpenShift ワーカーノードからトポロジーラベルを取得できるようにするアクセス権限。

1.2.2.3. ClusterRoleBinding リソース

Cluster Operator は、ClusterRoleBinding および RoleBinding リソースを使用して、ClusterRoleServiceAccount に関連付けます。クラスターロールバインディングは、クラスタースコープのリソースを含むクラスターロールで必要です。

Expand
表1.2 ClusterRoleBinding リソース
名前説明

strimzi-cluster-operator

Cluster Operator に strimzi-cluster-operator-global クラスターロールの権限を付与します。

strimzi-cluster-operator-kafka-broker-delegation

Cluster Operator に strimzi-entity-operator クラスターロールからの権限を付与します。

strimzi-cluster-operator-kafka-client-delegation

Cluster Operator に strimzi-kafka-client クラスターロールからの権限を付与します。

Expand
表1.3 RoleBinding リソース
名前説明

strimzi-cluster-operator

Cluster Operator に strimzi-cluster-operator-namespaced クラスターロールからの権限を付与します。

strimzi-cluster-operator-leader-election

Cluster Operator に strimzi-cluster-operator-leader-election クラスターロールからの権限を付与します。

strimzi-cluster-operator-watched

Cluster Operator に strimzi-cluster-operator-watched クラスターロールからの権限を付与します。

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 は、追加の ClusterRoleBinding リソースと RoleBinding リソースを作成して、これらの RBAC 権限の一部をオペランドに委任します。

各オペランドは、Cluster Operator によって作成される独自のサービスアカウントを使用します。これにより、Cluster Operator は最小特権の原則に従い、本当に必要なアクセス権のみをオペランドに与えることができます。

Expand
表1.4 ServiceAccount リソース
名前ユーザー

<cluster_name>-zookeeper

ZooKeeper Pod

<cluster_name>-kafka

Kafka ブローカー Pod

<cluster_name>-entity-operator

Entitiy 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 Bridge Pod

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat