第5章 インストールアーティファクトを使用した AMQ Streams のデプロイ
AMQ Streams のデプロイメント環境を準備 したら、AMQ Streams を OpenShift クラスターにデプロイできます。リリースアーティファクトで提供されるデプロイメントファイルを使用できます。
デプロイメントファイルを使用して Kafka クラスターを作成します。
任意で、要件に応じて以下の Kafka コンポーネントをデプロイできます。
AMQ Streams は Strimzi 0.26.x をベースとしています。AMQ Streams 2.0 は、OpenShift 4.6 から 4.9 にデプロイできます。
本ガイドのコマンドを実行するには、クラスターユーザーに RBAC (ロールベースアクセス制御) および CRD を管理する権限を付与する必要があります。
5.1. Kafka クラスターの作成 リンクのコピーリンクがクリップボードにコピーされました!
Cluster Operator で Kafka クラスターを管理できるようにするには、これを Kafka リソースとしてデプロイする必要があります。AMQ Streams では、これ用のデプロイメントファイルのサンプルが同梱されています。これらのファイルを使用して、Topic Operator および User Operator を同時にデプロイできます。
Kafka クラスターを Kafka リソースとしてデプロイしていない場合は、Cluster Operator を使用してこれを管理できません。これは、たとえば OpenShift 外で実行されている Kafka クラスターに適用されます。ただし、Topic Operator および User Operator は、スタンドアロンコンポーネントとしてデプロイし、使用することができます。
Cluster Operator は、OpenShift クラスターの 1 つ、複数、またはすべての namespace を監視できます。Topic Operator および User Operator は、Kafka クラスターデプロイメントの単一の namespace で KafkaTopics および KafkaUsers を監視します。
Kafka クラスターを Topic Operator および User Operator とデプロイ
AMQ Streams によって管理される Kafka クラスターを Topic Operator および User Operator と使用する場合は、このデプロイメント手順を実行します。
- Cluster Operator をデプロイします。
Cluster Operator を使用して以下をデプロイします。
スタンドアロン Topic Operator および User Operator のデプロイ
AMQ Streams によって管理されない Kafka クラスターを Topic Operator および User Operator と使用する場合は、このデプロイメント手順を実行します。
5.1.1. Cluster Operator のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
Cluster Operator は、OpenShift クラスター内で Apache Kafka クラスターのデプロイおよび管理を行います。
本セクションの手順は以下を説明します。
以下を監視するよう Cluster Operator をデプロイする方法。
5.1.1.1. Cluster Operator デプロイメントの監視オプション リンクのコピーリンクがクリップボードにコピーされました!
Cluster Operator の稼働中に、Kafka リソースの更新に対する監視が開始されます。
Cluster Operator をデプロイして、以下からの Kafka リソースの監視を選択できます。
- 単一の namespace (Cluster Operator が含まれる同じ namespace)
- 複数の namespace
- すべての namespace
AMQ Streams では、デプロイメントの処理を簡単にするため、YAML ファイルのサンプルが提供されます。
Cluster Operator では、以下のリソースの変更が監視されます。
-
Kafka クラスターの
Kafka。 -
Kafka Connect クラスターの
KafkaConnect。 -
Kafka Connect クラスターでコネクターを作成および管理するための
KafkaConnector。 -
Kafka MirrorMaker インスタンスの
KafkaMirrorMaker。 -
Kafka MirrorMaker 2.0 インスタンスの
KafkaMirrorMaker2。 -
Kafka Bridge インスタンスの
KafkaBridge。 -
Cruise Control の最適化リクエストの
KafkaRebalance。
OpenShift クラスターでこれらのリソースの 1 つが作成されると、Operator によってクラスターの詳細がリソースより取得されます。さらに、StatefulSet、Service、および ConfigMap などの必要な OpenShift リソースが作成され、リソースの新しいクラスターの作成が開始されます。
Kafka リソースが更新されるたびに、リソースのクラスターを構成する OpenShift リソースで該当する更新が Operator によって実行されます。
クラスターの望ましい状態がリソースのクラスターに反映されるようにするため、リソースへのパッチ適用後またはリソースの削除後にリソースが再作成されます。この操作は、サービスの中断を引き起こすローリングアップデートの原因となる可能性があります。
リソースが削除されると、Operator によってクラスターがアンデプロイされ、関連する OpenShift リソースがすべて削除されます。
5.1.1.2. 単一の namespace を監視対象とする Cluster Operator のデプロイメント リンクのコピーリンクがクリップボードにコピーされました!
この手順では、OpenShift クラスターの単一の namespace で AMQ Streams リソースを監視するように Cluster Operator をデプロイする方法を説明します。
前提条件
-
この手順では、
CustomResourceDefinitions、ClusterRoles、およびClusterRoleBindingsを作成できる OpenShift ユーザーアカウントを使用する必要があります。通常、OpenShift クラスターでロールベースアクセス制御 (RBAC) を使用する場合、これらのリソースを作成、編集、および削除する権限を持つユーザーはsystem:adminなどの OpenShift クラスター管理者に限定されます。
手順
Cluster Operator がインストールされる namespace を使用するように、AMQ Streams のインストールファイルを編集します。
たとえば、この手順では Cluster Operator は
my-cluster-operator-namespaceという namespace にインストールされます。Linux の場合は、以下を使用します。
sed -i 's/namespace: .*/namespace: my-cluster-operator-namespace/' install/cluster-operator/*RoleBinding*.yaml
sed -i 's/namespace: .*/namespace: my-cluster-operator-namespace/' install/cluster-operator/*RoleBinding*.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow MacOS の場合は、以下を使用します。
sed -i '' 's/namespace: .*/namespace: my-cluster-operator-namespace/' install/cluster-operator/*RoleBinding*.yaml
sed -i '' 's/namespace: .*/namespace: my-cluster-operator-namespace/' install/cluster-operator/*RoleBinding*.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Cluster Operator をデプロイします。
oc create -f install/cluster-operator -n my-cluster-operator-namespace
oc create -f install/cluster-operator -n my-cluster-operator-namespaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Cluster Operator が正常にデプロイされたことを確認します。
oc get deployments
oc get deploymentsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.1.1.3. 複数の namespace を監視対象とする Cluster Operator のデプロイメント リンクのコピーリンクがクリップボードにコピーされました!
この手順では、OpenShift クラスターの複数の namespace 全体で AMQ Streams リソースを監視するように Cluster Operator をデプロイする方法を説明します。
前提条件
-
この手順では、
CustomResourceDefinitions、ClusterRoles、およびClusterRoleBindingsを作成できる OpenShift ユーザーアカウントを使用する必要があります。通常、OpenShift クラスターでロールベースアクセス制御 (RBAC) を使用する場合、これらのリソースを作成、編集、および削除する権限を持つユーザーはsystem:adminなどの OpenShift クラスター管理者に限定されます。
手順
Cluster Operator がインストールされる namespace を使用するように、AMQ Streams のインストールファイルを編集します。
たとえば、この手順では Cluster Operator は
my-cluster-operator-namespaceという namespace にインストールされます。Linux の場合は、以下を使用します。
sed -i 's/namespace: .*/namespace: my-cluster-operator-namespace/' install/cluster-operator/*RoleBinding*.yaml
sed -i 's/namespace: .*/namespace: my-cluster-operator-namespace/' install/cluster-operator/*RoleBinding*.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow MacOS の場合は、以下を使用します。
sed -i '' 's/namespace: .*/namespace: my-cluster-operator-namespace/' install/cluster-operator/*RoleBinding*.yaml
sed -i '' 's/namespace: .*/namespace: my-cluster-operator-namespace/' install/cluster-operator/*RoleBinding*.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow install/cluster-operator/060-Deployment-strimzi-cluster-operator.yamlファイルを編集し、Cluster Operator によって監視されるすべての namespace のリストをSTRIMZI_NAMESPACE環境変数に追加します。たとえば、この手順では Cluster Operator は
watched-namespace-1、watched-namespace-2、およびwatched-namespace-3という namespace を監視します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow リストした各 namespace に
RoleBindingsをインストールします。この例では、コマンドの
watched-namespaceを前述のステップでリストした namespace に置き換えます。watched-namespace-1、watched-namespace-2、およびwatched-namespace-3に対してこれを行います。oc create -f install/cluster-operator/020-RoleBinding-strimzi-cluster-operator.yaml -n watched-namespace oc create -f install/cluster-operator/031-RoleBinding-strimzi-cluster-operator-entity-operator-delegation.yaml -n watched-namespace
oc create -f install/cluster-operator/020-RoleBinding-strimzi-cluster-operator.yaml -n watched-namespace oc create -f install/cluster-operator/031-RoleBinding-strimzi-cluster-operator-entity-operator-delegation.yaml -n watched-namespaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Cluster Operator をデプロイします。
oc create -f install/cluster-operator -n my-cluster-operator-namespace
oc create -f install/cluster-operator -n my-cluster-operator-namespaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Cluster Operator が正常にデプロイされたことを確認します。
oc get deployments
oc get deploymentsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.1.1.4. すべての namespace を対象とする Cluster Operator のデプロイメント リンクのコピーリンクがクリップボードにコピーされました!
この手順では、OpenShift クラスターのすべての namespace 全体で AMQ Streams リソースを監視するように Cluster Operator をデプロイする方法を説明します。
このモードで実行している場合、Cluster Operator によって、新規作成された namespace でクラスターが自動的に管理されます。
前提条件
-
この手順では、
CustomResourceDefinitions、ClusterRoles、およびClusterRoleBindingsを作成できる OpenShift ユーザーアカウントを使用する必要があります。通常、OpenShift クラスターでロールベースアクセス制御 (RBAC) を使用する場合、これらのリソースを作成、編集、および削除する権限を持つユーザーはsystem:adminなどの OpenShift クラスター管理者に限定されます。
手順
Cluster Operator がインストールされる namespace を使用するように、AMQ Streams のインストールファイルを編集します。
たとえば、この手順では Cluster Operator は
my-cluster-operator-namespaceという namespace にインストールされます。Linux の場合は、以下を使用します。
sed -i 's/namespace: .*/namespace: my-cluster-operator-namespace/' install/cluster-operator/*RoleBinding*.yaml
sed -i 's/namespace: .*/namespace: my-cluster-operator-namespace/' install/cluster-operator/*RoleBinding*.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow MacOS の場合は、以下を使用します。
sed -i '' 's/namespace: .*/namespace: my-cluster-operator-namespace/' install/cluster-operator/*RoleBinding*.yaml
sed -i '' 's/namespace: .*/namespace: my-cluster-operator-namespace/' install/cluster-operator/*RoleBinding*.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow install/cluster-operator/060-Deployment-strimzi-cluster-operator.yamlファイルを編集し、STRIMZI_NAMESPACE環境変数の値を*に設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスター全体ですべての namespace にアクセスできる権限を Cluster Operator に付与する
ClusterRoleBindingsを作成します。oc create clusterrolebinding strimzi-cluster-operator-namespaced --clusterrole=strimzi-cluster-operator-namespaced --serviceaccount my-cluster-operator-namespace:strimzi-cluster-operator oc create clusterrolebinding strimzi-cluster-operator-entity-operator-delegation --clusterrole=strimzi-entity-operator --serviceaccount my-cluster-operator-namespace:strimzi-cluster-operator
oc create clusterrolebinding strimzi-cluster-operator-namespaced --clusterrole=strimzi-cluster-operator-namespaced --serviceaccount my-cluster-operator-namespace:strimzi-cluster-operator oc create clusterrolebinding strimzi-cluster-operator-entity-operator-delegation --clusterrole=strimzi-entity-operator --serviceaccount my-cluster-operator-namespace:strimzi-cluster-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow my-cluster-operator-namespaceは、Cluster Operator をインストールする namespace に置き換えます。Cluster Operator を OpenShift クラスターにデプロイします。
oc create -f install/cluster-operator -n my-cluster-operator-namespace
oc create -f install/cluster-operator -n my-cluster-operator-namespaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Cluster Operator が正常にデプロイされたことを確認します。
oc get deployments
oc get deploymentsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.1.2. Kafka のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
Apache Kafka は、耐障害性のリアルタイムデータフィードを実現する、オープンソースの分散型 publish/subscribe メッセージングシステムです。
本セクションの手順は以下を説明します。
Cluster Operator を使用して以下をデプロイする方法
- 一時 または 永続 Kafka クラスター
Topic Operator および User Operator (
Kafkaカスタムリソースを設定してデプロイする)
Topic Operator および User Operator の代替のスタンドアロンデプロイメント手順
Kafka をインストールする場合、AMQ Streams によって ZooKeeper クラスターもインストールされ、Kafka と ZooKeeper との接続に必要な設定が追加されます。
5.1.2.1. Kafka クラスターのデプロイメント リンクのコピーリンクがクリップボードにコピーされました!
この手順では、Cluster Operator を使用して Kafka クラスターを OpenShift クラスターにデプロイする方法を説明します。
デプロイメントでは、YAML ファイルの仕様を使って Kafka リソースが作成されます。
AMQ Streams には、設定ファイルのサンプルが含まれています。Kafka デプロイメントでは、以下の例が提供されます。
kafka-persistent.yaml- 3 つの Zookeeper ノードと 3 つの Kafka ノードを使用して永続クラスターをデプロイします。
kafka-jbod.yaml- それぞれが複数の永続ボリューを使用する、3 つの ZooKeeper ノードと 3 つの Kafka ノードを使用して、永続クラスターをデプロイします。
kafka-persistent-single.yaml- 1 つの ZooKeeper ノードと 1 つの Kafka ノードを使用して、永続クラスターをデプロイします。
kafka-ephemeral.yaml- 3 つの ZooKeeper ノードと 3 つの Kafka ノードを使用して、一時クラスターをデプロイします。
kafka-ephemeral-single.yaml- 3 つの ZooKeeper ノードと 1 つの Kafka ノードを使用して、一時クラスターをデプロイします。
この手順では、一時 および 永続 Kafka クラスターデプロイメントの例を使用します。
- 一時クラスター
-
通常、Kafka の一時クラスターは開発およびテスト環境での使用に適していますが、本番環境での使用には適していません。このデプロイメントでは、ブローカー情報 (ZooKeeper) と、トピックまたはパーティション (Kafka) を格納するための
emptyDirボリュームが使用されます。emptyDirボリュームを使用すると、その内容は厳密に Pod のライフサイクルと関連し、Pod がダウンすると削除されます。 - 永続クラスター
-
Kafka の永続クラスターでは、
PersistentVolumesを使用して ZooKeeper および Kafka データを格納します。PersistentVolumeClaimを使用してPersistentVolumeが取得され、PersistentVolumeの実際のタイプには依存しません。たとえば、YAML ファイルを変更しなくても Amazon AWS デプロイメントで Amazon EBS ボリュームを使用できます。PersistentVolumeClaimでStorageClassを使用し、自動ボリュームプロビジョニングをトリガーすることができます。
サンプル YAML ファイルは、サポートされる最新の Kafka バージョンを指定し、サポートされるログメッセージ形式バージョンの設定とブローカー間のプロトコルバージョンの設定を指定します。Kafka config の inter.broker.protocol.version プロパティーは、指定された Kafka バージョン (spec.kafka.version) によってサポートされるバージョンである必要があります。このプロパティーは、Kafka クラスターで使用される Kafka プロトコルのバージョンを表します。
Kafka 3.0.0 以降、inter.broker.protocol.version が 3.0 以上に設定されていると、log.message.format.version オプションは無視されるため、設定する必要はありません。
Kafka のアップグレード 時に、inter.broker.protocol.version への更新が必要です。
サンプルクラスターの名前はデフォルトで my-cluster になります。クラスター名はリソースの名前によって定義され、クラスターがデプロイされた後に変更できません。クラスターをデプロイする前にクラスター名を変更するには、関連する YAML ファイルにある Kafka リソースの Kafka.metadata.name プロパティーを編集します。
デフォルトのクラスター名および指定された Kafka バージョン
手順
一時 または 永続 クラスターを作成およびデプロイします。
開発またはテストでは、一時クラスターの使用が適している可能性があります。永続クラスターはどのような状況でも使用することができます。
一時 クラスターを作成およびデプロイするには、以下を実行します。
oc apply -f examples/kafka/kafka-ephemeral.yaml
oc apply -f examples/kafka/kafka-ephemeral.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 永続 クラスターを作成およびデプロイするには、以下を実行します。
oc apply -f examples/kafka/kafka-persistent.yaml
oc apply -f examples/kafka/kafka-persistent.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Kafka クラスターが正常にデプロイされたことを確認します。
oc get deployments
oc get deploymentsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.1.2.2. Cluster Operator を使用した Topic Operator のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
この手順では、Cluster Operator を使用して Topic Operator をデプロイする方法を説明します。
Kafka リソースの entityOperator プロパティーを設定し、topicOperator が含まれるようにします。デフォルトでは、Topic Operator は Kafka クラスターデプロイメントの namespace で KafkaTopics を監視します。
AMQ Streams によって管理されない Kafka クラスターを Topic Operator と使用する場合は、Topic Operator をスタンドアロンコンポーネントとしてデプロイする必要があります。
entityOperator および topicOperator プロパティーの設定に関する詳細は、『Using AMQ Streams on OpenShift』の「Configuring the Entity Operator」を参照してください。
手順
KafkaリソースのentityOperatorプロパティーを編集し、topicOperatorが含まれるようにします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 「
EntityTopicOperatorSpecschema reference」に記載されているプロパティーを使用して、Topic Operator のspecを設定します。すべてのプロパティーにデフォルト値を使用する場合は、空のオブジェクト (
{}) を使用します。リソースを作成または更新します。
次のように
oc applyを使用します。oc apply -f <your-file>
oc apply -f <your-file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.1.2.3. Cluster Operator を使用した User Operator のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
この手順では、Cluster Operator を使用して User Operator をデプロイする方法を説明します。
Kafka リソースの entityOperator プロパティーを設定し、userOperator が含まれるようにします。デフォルトでは、User Operator は Kafka クラスターデプロイメントの namespace で KafkaUsers を監視します。
AMQ Streams によって管理されない Kafka クラスターを User Operator と使用する場合は、User Operator をスタンドアロンコンポーネントとしてデプロイする必要があります。
entityOperator および userOperator プロパティーの設定に関する詳細は、『Using AMQ Streams on OpenShift』の「Configuring the Entity Operator」を参照してください。
手順
KafkaリソースのentityOperatorプロパティーを編集し、userOperatorが含まれるようにします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 『Using AMQ Streams on OpenShift』の「
EntityUserOperatorSpecschema reference」に記載されているプロパティーを使用して、User Operator のspecを設定します。すべてのプロパティーにデフォルト値を使用する場合は、空のオブジェクト (
{}) を使用します。リソースを作成または更新します。
oc apply -f <your-file>
oc apply -f <your-file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.1.3. AMQ Streams Operator の代替のスタンドアロンデプロイメントオプション リンクのコピーリンクがクリップボードにコピーされました!
Topic Operator および User Operator のスタンドアロンデプロイメントを実行できます。Cluster Operator によって管理されない Kafka クラスターを使用している場合は、これらの Operator のスタンドアロンデプロイメントを検討してください。
Operator を OpenShift にデプロイします。Kafka は OpenShift 外で実行できます。たとえば、Kafka を管理対象サービスとして使用する場合があります。スタンドアロン Operator のデプロイメント設定を調整し、Kafka クラスターのアドレスと一致するようにします。
5.1.3.1. スタンドアロン Topic Operator のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
この手順では、Topic Operator をトピック管理のスタンドアロンコンポーネントとしてデプロイする方法を説明します。スタンドアロン Topic Operator を Cluster Operator によって管理されない Kafka クラスターと使用できます。
スタンドアロンデプロイメントは、任意の Kafka クラスターと操作できます。
スタンドアロンデプロイメントファイルは AMQ Streams で提供されます。05-Deployment-strimzi-topic-operator.yaml デプロイメントファイルを使用して、Topic Operator をデプロイします。Kafka クラスターへの接続に必要な環境変数を追加または設定します。
前提条件
Topic Operator が接続する Kafka クラスターを実行しています。
スタンドアロンの Topic Operator が接続用に正しく設定されている限り、Kafka クラスターはベアメタル環境、仮想マシン、または管理対象クラウドアプリケーションサービスで実行できます。
手順
install/topic-operator/05-Deployment-strimzi-topic-operator.yamlスタンドアロンデプロイメントファイルのenvプロパティーを編集します。スタンドアロンの Topic Operator デプロイメント設定の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
KafkaTopicリソースを監視する Topic Operator の OpenShift namespace。Kafka クラスターの namespace を指定します。- 2
- Kafka クラスターのすべてのブローカーを検出し、接続するブートストラップブローカーアドレスのホストとポートのペア。サーバーがダウンした場合に備えて、コンマ区切りリストを使用して 2 つまたは 3 つのブローカーアドレスを指定します。
- 3
- Topic Operator によって管理される
KafkaTopicリソースを識別するためのラベルセレクター。 - 4
- ZooKeeper クラスターに接続するためのアドレスのホストおよびポートのペア。これは、Kafka クラスターが使用する ZooKeeper クラスターと同じである必要があります。
- 5
- ZooKeeper セッションのタイムアウト (秒単位)。デフォルトは
18000(18 秒) です。 - 6
- 定期的な調整の間隔 (秒単位)。デフォルトは
120000(2 分) です。 - 7
- Kafka からトピックメタデータの取得を試行する回数。各試行の間隔は、指数バックオフとして定義されます。パーティションまたはレプリカの数が原因で、トピックの作成に時間がかかる場合は、この値を大きくすることを検討してください。デフォルトの試行回数は
6回です。 - 8
- ロギングメッセージの出力レベル。レベルを、
ERROR、WARNING、INFO、DEBUG、またはTRACEに設定できます。 - 9
- Kafka ブローカーとの暗号化された通信の TLS サポートを有効にします。
- 10
- (任意) Topic Operator を実行する JVM に使用される Java オプション。
- 11
- (任意) Topic Operator に設定されたデバッグ (
-D) オプション。 - 12
- (オプション)TLS が
STRIMZI_TLS_ENABLEDによって有効になっている場合、トラストストア証明書の生成を省略します。この環境変数が有効になっている場合、ブローカーは TLS 証明書に公的に信頼できる認証局を使用する必要があります。デフォルトはfalseです。 - 13
- (オプション)相互 TLS 認証用のキーストア証明書を生成します。これを
falseに設定すると、TLS を使用した Kafka ブローカーへのクライアント認証が無効になります。デフォルトはtrueです。 - 14
- (オプション)Kafka ブローカーに接続するときにクライアント認証の SASL サポートを有効にします。デフォルトは
falseです。 - 15
- (任意)クライアント認証用の SASL ユーザー名。SASL が
STRIMZI_SASL_ENABLEDによって有効化された場合のみ必須です。 - 16
- (任意)クライアント認証用の SASL パスワード。SASL が
STRIMZI_SASL_ENABLEDによって有効化された場合のみ必須です。 - 17
- (任意)クライアント認証用の SASL メカニズム。SASL が
STRIMZI_SASL_ENABLEDによって有効化された場合のみ必須です。この値はplain、scram-sha-256、またはscram-sha-512に設定できます。 - 18
- (任意)Kafka ブローカーとの通信に使用されるセキュリティープロトコル。デフォルト値は「PLAINTEXT」です。値は
PLAINTEXT、SSL、SASL_PLAINTEXT、またはSASL_SSLに設定できます。
-
公開認証局から証明書を使用している Kafkaブ ローカーに接続する場合は、
STRIMZI_PUBLIC_CAをtrueに設定します。たとえば、Amazon AWS MSK サービスを使用している場合は、このプロパティーをtrueに設定します。 STRIMZI_TLS_ENABLED環境変数で TLS を有効にした場合、Kafka クラスターへの接続を認証するために使用されるキーストアおよびトラストストアを指定します。TLS 設定の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Topic Operator をデプロイします。
oc create -f install/topic-operator
oc create -f install/topic-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow Topic Operator が正常にデプロイされていることを確認します。
oc describe deployment strimzi-topic-operator
oc describe deployment strimzi-topic-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow Replicasエントリーに1 availableが表示されれば、Topic Operator はデプロイされています。注記OpenShift クラスターへの接続が低速な場合や Topic Operator イメージがこれまでダウンロードされたことがない場合は、デプロイメントに遅延が発生することがあります。
5.1.3.2. スタンドアロン User Operator のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
この手順では、ユーザー管理のスタンドアロンコンポーネントとして User Operator をデプロイする方法を説明します。スタンドアロン User Operator を Cluster Operator によって管理されない Kafka クラスターと使用できます。
スタンドアロンデプロイメントは、任意の Kafka クラスターと操作できます。
スタンドアロンデプロイメントファイルは AMQ Streams で提供されます。05-Deployment-strimzi-user-operator.yaml デプロイメントファイルを使用して、User Operator をデプロイします。Kafka クラスターへの接続に必要な環境変数を追加または設定します。
前提条件
User Operator が接続する Kafka クラスターを実行しています。
スタンドアロンの User Operator が接続用に正しく設定されている限り、Kafka クラスターはベアメタル環境、仮想マシン、または管理対象クラウドアプリケーションサービスで実行できます。
手順
以下の
envプロパティーをinstall/user-operator/05-Deployment-strimzi-user-operator.yamlスタンドアロンデプロイメントファイルで編集します。スタンドアロン User Operator デプロイメント設定の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
KafkaUserリソースを監視する User Operator の OpenShift namespace。指定できる namespace は 1 つだけです。- 2
- Kafka クラスターのすべてのブローカーを検出し、接続するブートストラップブローカーアドレスのホストとポートのペア。サーバーがダウンした場合に備えて、コンマ区切りリストを使用して 2 つまたは 3 つのブローカーアドレスを指定します。
- 3
- TLS クライアント認証に対して新しいユーザー証明書に署名する認証局の公開鍵 (
ca.crt) の値が含まれる OpenShiftSecret。 - 4
- TLS クライアント認証に対して新しいユーザー証明書に署名する認証局の秘密鍵 (
ca.key) の値が含まれる OpenShiftSecret。 - 5
- User Operator によって管理される
KafkaUserリソースを識別するために使用されるラベルセレクター。 - 6
- 定期的な調整の間隔 (秒単位)。デフォルトは
120000(2 分) です。デフォルトは18000(18 秒) です。 - 7
- ロギングメッセージの出力レベル。レベルを、
ERROR、WARNING、INFO、DEBUG、またはTRACEに設定できます。 - 8
- ガベッジコレクション (GC) ロギングを有効にします。デフォルトは
trueです。 - 9
- 認証局の有効期間。デフォルトは
365日です。 - 10
- 認証局の更新期間。更新期間は、現在の証明書の有効期日から逆算されます。デフォルトでは、古い証明書が期限切れになる前の証明書の更新期間は
30日です。 - 11
- (任意) User Operator を実行する JVM に使用される Java オプション。
- 12
- (任意) User Operator に設定されたデバッグ (
-D) オプション。 - 13
- (オプション)User Operator によって作成される OpenShift シークレットの名前のプレフィックス。
- 14
- (任意)Kafka クラスターが Kafka Admin API を使用した承認 ACL ルールの管理をサポートするかどうかを示します。
falseに設定すると、User Operator はsimple承認 ACL ルールを持つすべてのリソースを拒否します。これは、Kafka クラスターログで不要な例外を回避するのに役立ちます。デフォルトはtrueです。
TLS を使用して Kafka クラスターに接続する場合は、接続の認証に使用されるシークレットを指定します。それ以外の場合は、次のステップに進みます。
TLS 設定の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow User Operator をデプロイします。
oc create -f install/user-operator
oc create -f install/user-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow User Operator が正常にデプロイされていることを確認します。
oc describe deployment strimzi-user-operator
oc describe deployment strimzi-user-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow Replicasエントリーに1 availableが表示されれば、User Operator はデプロイされています。注記OpenShift クラスターへの接続が低速な場合や User Operator イメージがこれまでダウンロードされたことがない場合は、デプロイメントに遅延が発生することがあります。