6.8. AMQ Streams Operator の代替のスタンドアロンデプロイメントオプション
Topic Operator および User Operator のスタンドアロンデプロイメントを実行できます。Cluster Operator によって管理されない Kafka クラスターを使用している場合は、これらの Operator のスタンドアロンデプロイメントを検討してください。
Operator を OpenShift にデプロイします。Kafka は OpenShift 外で実行できます。たとえば、Kafka をマネージドサービスとして使用する場合があります。スタンドアロン Operator のデプロイメント設定を調整し、Kafka クラスターのアドレスと一致するようにします。
6.8.1. スタンドアロン Topic Operator のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
この手順では、Topic Operator をトピック管理のスタンドアロンコンポーネントとしてデプロイする方法を説明します。スタンドアロン Topic Operator を Cluster Operator によって管理されない Kafka クラスターと使用できます。
スタンドアロンデプロイメントは、任意の Kafka クラスターで操作できます。
スタンドアロンデプロイメントファイルは AMQ Streams で提供されます。05-Deployment-strimzi-topic-operator.yaml デプロイメントファイルを使用して、Topic Operator をデプロイします。Kafka クラスターへの接続に必要な環境変数を追加または設定します。
Topic Operator は、単一の namespace で KafkaTopic リソースを監視します。Topic Operator 設定で、監視する namespace と Kafka クラスターへの接続を指定します。1 つの Topic Operator が監視できるのは、namespace 1 つです。1 つの namespace を監視するのは、Top Operator 1 つのみとします。複数の Topic Operator を使用する場合は、それぞれが異なる namespace を監視するように設定します。このようにして、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リソースを識別するラベル。これは、Kafka クラスターの名前である必要はありません。KafkaTopicリソースに割り当てられたラベルにすることができます。複数の Topic Operator をデプロイする場合、ラベルはそれぞれに一意である必要があります。つまり、Operator は同じリソースを管理できません。 - 4
- (ZooKeeper) ZooKeeper クラスターに接続するためのアドレスのホストおよびポートのペア。これは、Kafka クラスターが使用する ZooKeeper クラスターと同じである必要があります。
- 5
- (ZooKeeper) 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
- (オプション) mTLS 認証用のキーストア証明書を生成します。これを
falseに設定すると、mTLS を使用した 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環境変数で mTLS を有効にした場合は、Kafka クラスターへの接続認証に使用されるキーストアおよびトラストストアを指定します。mTLS 設定の例
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 デプロイメントのステータスを確認します。
oc get deployments
oc get deploymentsCopy to Clipboard Copied! Toggle word wrap Toggle overflow デプロイメント名と準備状態が表示されている出力
NAME READY UP-TO-DATE AVAILABLE strimzi-topic-operator 1/1 1 1
NAME READY UP-TO-DATE AVAILABLE strimzi-topic-operator 1/1 1 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow READYは、Ready/expected 状態のレプリカ数を表示します。AVAILABLE出力に1が表示されれば、デプロイメントは成功しています。
6.8.1.1. (プレビュー) 一方向トピック管理のためのスタンドアロン Topic Operator のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
一方向トピック管理では、KafkaTopic リソースのみを通じてトピックを維持します。一方向トピック管理の詳細は、「トピック管理モード」 を参照してください。
一方向トピック管理のプレビューを試したい場合は、次の手順に従ってスタンドアロンの Topic Operator をデプロイメントします。
手順
現在のスタンドアロン Topic Operator のデプロイを解除します。
KafkaTopicリソースを保持します。これは、Topic Operator が再度デプロイされるときに Toppic Operator によって選択されます。スタンドアロン Topic Operator の
Deployment設定を編集して、ZooKeeper 関連の環境変数を削除します。-
STRIMZI_ZOOKEEPER_CONNECT -
STRIMZI_ZOOKEEPER_SESSION_TIMEOUT_MS -
TC_ZK_CONNECTION_TIMEOUT_MS STRIMZI_USE_ZOOKEEPER_TOPIC_STORE一方向 Topic Operator が使用されるかどうかを定義するのは、ZooKeeper 変数の有無です。一方向のトピック管理は ZooKeeper を使用しません。ZooKeeper 環境変数が存在しない場合は、一方向の Topic Operator が使用されます。それ以外の場合は、双方向の Topic Operator が使用されます。
その他の未使用の環境変数が存在する場合は削除できます。
-
STRIMZI_REASSIGN_THROTTLE -
STRIMZI_REASSIGN_VERIFY_INTERVAL_MS -
STRIMZI_TOPIC_METADATA_MAX_ATTEMPTS -
STRIMZI_TOPICS_PATH -
STRIMZI_STORE_TOPIC -
STRIMZI_STORE_NAME -
STRIMZI_APPLICATION_ID -
STRIMZI_STALE_RESULT_TIMEOUT_MS
-
(オプション)
STRIMZI_USE_FINALIZERS環境変数をfalseに設定します。一方向トピック管理のための追加設定
# ... env: - name: STRIMZI_USE_FINALIZERS value: "false"# ... env: - name: STRIMZI_USE_FINALIZERS value: "false"Copy to Clipboard Copied! Toggle word wrap Toggle overflow topic deletion を制御するためにファイナライザーを使用したくない場合は、この環境変数を
falseに設定します。一方向トピック管理のためのスタンドアロン Topic Operator デプロイメント設定の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - スタンドアロンの Topic Operator を標準の方法でデプロイします。
6.8.2. スタンドアロン User Operator のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
この手順では、ユーザー管理のスタンドアロンコンポーネントとして User Operator をデプロイする方法を説明します。Cluster Operator の管理対象外となっている Kafka クラスターでは、スタンドアロンの User Operator を使用します。
スタンドアロンデプロイメントは、任意の Kafka クラスターで操作できます。
スタンドアロンデプロイメントファイルは AMQ Streams で提供されます。05-Deployment-strimzi-user-operator.yaml デプロイメントファイルを使用して、User Operator をデプロイします。Kafka クラスターへの接続に必要な環境変数を追加または設定します。
User Operator は、単一の namespace で KafkaUser リソースを監視します。User Operator 設定で、監視する namespace と Kafka クラスターへの接続を指定します。1 つの User Operator が監視できるのは、namespace 1 つです。1 つの namespace を監視するのは、User Operator 1 つのみとします。複数の User Operator を使用する場合は、それぞれが異なる namespace を監視するように設定します。このようにして、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
- mTLS 認証用の新しいユーザー証明書に署名する認証局の公開鍵 (
ca.crt) 値を含む OpenShiftSecret。 - 4
- mTLS 認証用の新しいユーザー証明書に署名する CA の秘密鍵 (
ca.key) 値を含む OpenShiftSecret。 - 5
- User Operator によって管理される
KafkaUserリソースを識別するラベル。これは、Kafka クラスターの名前である必要はありません。KafkaUserリソースに割り当てられたラベルにすることができます。複数の User Operator をデプロイする場合、ラベルはそれぞれに一意である必要があります。つまり、Operator は同じリソースを管理できません。 - 6
- 定期的な調整の間隔 (秒単位)。デフォルトは
120000(2 分) です。 - 7
- コントローラーイベントキューのサイズ。キューのサイズは、User Operator が操作すると予想されるユーザーの最大数と少なくとも同じ大きさにする必要があります。デフォルトは
1024です。 - 8
- ユーザーを調整するためのワーカープールのサイズ。プールを大きくすると、より多くのリソースが必要になる可能性がありますが、より多くの
KafkaUserリソースも処理されます。デフォルトは50です。 - 9
- Kafka Admin API および OpenShift 操作のワーカープールのサイズ。プールを大きくすると、より多くのリソースが必要になる可能性がありますが、より多くの
KafkaUserリソースも処理されます。デフォルトは4です。 - 10
- ロギングメッセージの出力レベル。レベルを、
ERROR、WARNING、INFO、DEBUG、またはTRACEに設定できます。 - 11
- ガベッジコレクション (GC) ロギングを有効にします。デフォルトは
trueです。 - 12
- CA の有効期間。デフォルトは
365日です。 - 13
- CA の更新期間。更新期間は、現在の証明書の有効期日から逆算されます。デフォルトでは、古い証明書が期限切れになる前の証明書の更新期間は
30日です。 - 14
- (任意) User Operator を実行する JVM に使用される Java オプション。
- 15
- (任意) User Operator に設定されたデバッグ (
-D) オプション。 - 16
- (オプション)User Operator によって作成される OpenShift シークレットの名前の接頭辞。
- 17
- (任意)Kafka クラスターが Kafka Admin API を使用した認可 ACL ルールの管理をサポートするかどうかを示します。
falseに設定すると、User Operator はsimple認可 ACL ルールを持つすべてのリソースを拒否します。これは、Kafka クラスターログで不要な例外を回避するのに役立ちます。デフォルトはtrueです。 - 18
- (オプション) 期限切れのユーザー証明書が更新されるメンテナンス時間枠を定義する Cron 式のセミコロンで区切られたリスト。
- 19
- (オプション) プロパティー形式で User Operator が使用する Kafka Admin クライアントを設定するための設定オプション。
mTLS を使用して Kafka クラスターに接続する場合は、接続の認証に使用されるシークレットを指定します。それ以外の場合は、次のステップに進みます。
mTLS 設定の例
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 デプロイメントのステータスを確認します。
oc get deployments
oc get deploymentsCopy to Clipboard Copied! Toggle word wrap Toggle overflow デプロイメント名と準備状態が表示されている出力
NAME READY UP-TO-DATE AVAILABLE strimzi-user-operator 1/1 1 1
NAME READY UP-TO-DATE AVAILABLE strimzi-user-operator 1/1 1 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow READYは、Ready/expected 状態のレプリカ数を表示します。AVAILABLE出力に1が表示されれば、デプロイメントは成功しています。