6.7. AMQ Streams Operator の代替のスタンドアロンデプロイメントオプション


Topic Operator および User Operator のスタンドアロンデプロイメントを実行できます。Cluster Operator によって管理されない Kafka クラスターを使用している場合は、これらの Operator のスタンドアロンデプロイメントを検討してください。

Operator を OpenShift にデプロイします。Kafka は OpenShift 外で実行できます。たとえば、Kafka を管理対象サービスとして使用する場合があります。スタンドアロン Operator のデプロイメント設定を調整し、Kafka クラスターのアドレスと一致するようにします。

6.7.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 クラスターはベアメタル環境、仮想マシン、または管理対象クラウドアプリケーションサービスで実行できます。

手順

  1. install/topic-operator/05-Deployment-strimzi-topic-operator.yaml スタンドアロンデプロイメントファイルの env プロパティーを編集します。

    スタンドアロンの Topic Operator デプロイメント設定の例

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: strimzi-topic-operator
      labels:
        app: strimzi
    spec:
      # ...
      template:
        # ...
        spec:
          # ...
          containers:
            - name: strimzi-topic-operator
              # ...
              env:
                - name: STRIMZI_NAMESPACE 
    1
    
                  valueFrom:
                    fieldRef:
                      fieldPath: metadata.namespace
                - name: STRIMZI_KAFKA_BOOTSTRAP_SERVERS 
    2
    
                  value: my-kafka-bootstrap-address:9092
                - name: STRIMZI_RESOURCE_LABELS 
    3
    
                  value: "strimzi.io/cluster=my-cluster"
                - name: STRIMZI_ZOOKEEPER_CONNECT 
    4
    
                  value: my-cluster-zookeeper-client:2181
                - name: STRIMZI_ZOOKEEPER_SESSION_TIMEOUT_MS 
    5
    
                  value: "18000"
                - name: STRIMZI_FULL_RECONCILIATION_INTERVAL_MS 
    6
    
                  value: "120000"
                - name: STRIMZI_TOPIC_METADATA_MAX_ATTEMPTS 
    7
    
                  value: "6"
                - name: STRIMZI_LOG_LEVEL 
    8
    
                  value: INFO
                - name: STRIMZI_TLS_ENABLED 
    9
    
                  value: "false"
                - name: STRIMZI_JAVA_OPTS 
    10
    
                  value: "-Xmx=512M -Xms=256M"
                - name: STRIMZI_JAVA_SYSTEM_PROPERTIES 
    11
    
                  value: "-Djavax.net.debug=verbose -DpropertyName=value"
                - name: STRIMZI_PUBLIC_CA 
    12
    
                  value: "false"
                - name: STRIMZI_TLS_AUTH_ENABLED 
    13
    
                  value: "false"
                - name: STRIMZI_SASL_ENABLED 
    14
    
                  value: "false"
                - name: STRIMZI_SASL_USERNAME 
    15
    
                  value: "admin"
                - name: STRIMZI_SASL_PASSWORD 
    16
    
                  value: "password"
                - name: STRIMZI_SASL_MECHANISM 
    17
    
                  value: "scram-sha-512"
                - name: STRIMZI_SECURITY_PROTOCOL 
    18
    
                  value: "SSL"

    1
    KafkaTopic リソースを監視する Topic Operator の OpenShift namespace。Kafka クラスターの namespace を指定します。
    2
    Kafka クラスターのすべてのブローカーを検出し、接続するブートストラップブローカーアドレスのホストとポートのペア。サーバーがダウンした場合に備えて、コンマ区切りリストを使用して 2 つまたは 3 つのブローカーアドレスを指定します。
    3
    Topic Operator によって管理される KafkaTopic リソースを識別するラベル。これは、Kafka クラスターの名前である必要はありません。KafkaTopic リソースに割り当てられたラベルにすることができます。複数の Topic Operator をデプロイする場合、ラベルはそれぞれに一意である必要があります。つまり、Operator は同じリソースを管理できません。
    4
    ZooKeeper クラスターに接続するためのアドレスのホストおよびポートのペア。これは、Kafka クラスターが使用する ZooKeeper クラスターと同じである必要があります。
    5
    ZooKeeper セッションのタイムアウト (秒単位)。デフォルトは 18000 (18 秒) です。
    6
    定期的な調整の間隔 (秒単位)。デフォルトは 120000 (2 分) です。
    7
    Kafka からトピックメタデータの取得を試行する回数。各試行の間隔は、指数バックオフとして定義されます。パーティションまたはレプリカの数が原因で、トピックの作成に時間がかかる場合は、この値を大きくすることを検討してください。デフォルトの試行回数は 6 回です。
    8
    ロギングメッセージの出力レベル。レベルを、ERRORWARNINGINFODEBUG、または 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 によって有効化された場合のみ必須です。この値は plainscram-sha-256、または scram-sha-512 に設定できます。
    18
    (任意)Kafka ブローカーとの通信に使用されるセキュリティープロトコル。デフォルト値は PLAINTEXT です。値は PLAINTEXTSSLSASL_PLAINTEXT、または SASL_SSL に設定できます。
  2. 公開認証局から証明書を使用している Kafka ブ ローカーに接続する場合は、STRIMZI_PUBLIC_CAtrue に設定します。たとえば、Amazon AWS MSK サービスを使用している場合は、このプロパティーを true に設定します。
  3. STRIMZI_TLS_ENABLED 環境変数で mTLS を有効にした場合は、Kafka クラスターへの接続認証に使用されるキーストアおよびトラストストアを指定します。

    mTLS 設定の例

    # ....
    env:
      - name: STRIMZI_TRUSTSTORE_LOCATION 
    1
    
        value: "/path/to/truststore.p12"
      - name: STRIMZI_TRUSTSTORE_PASSWORD 
    2
    
        value: "TRUSTSTORE-PASSWORD"
      - name: STRIMZI_KEYSTORE_LOCATION 
    3
    
        value: "/path/to/keystore.p12"
      - name: STRIMZI_KEYSTORE_PASSWORD 
    4
    
        value: "KEYSTORE-PASSWORD"
    # ...

    1
    トラストストアには、Kafka および ZooKeeper サーバー証明書の署名に使用される認証局の公開鍵が含まれます。
    2
    トラストストアにアクセスするためのパスワード。
    3
    キーストアには、mTLS 認証用の秘密鍵が含まれています。
    4
    キーストアにアクセスするためのパスワード。
  4. Topic Operator をデプロイします。

    oc create -f install/topic-operator
  5. デプロイメントのステータスを確認します。

    oc get deployments

    デプロイメント名と準備状態が表示されている出力

    NAME                    READY  UP-TO-DATE  AVAILABLE
    strimzi-topic-operator  1/1    1           1

    READY は、Ready/expected 状態のレプリカ数を表示します。AVAILABLE 出力に 1 が表示されれば、デプロイメントは成功しています。

6.7.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 クラスターはベアメタル環境、仮想マシン、または管理対象クラウドアプリケーションサービスで実行できます。

手順

  1. 以下の env プロパティーを install/user-operator/05-Deployment-strimzi-user-operator.yaml スタンドアロンデプロイメントファイルで編集します。

    スタンドアロン User Operator デプロイメント設定の例

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: strimzi-user-operator
      labels:
        app: strimzi
    spec:
      # ...
      template:
        # ...
        spec:
          # ...
          containers:
            - name: strimzi-user-operator
              # ...
              env:
                - name: STRIMZI_NAMESPACE 
    1
    
                  valueFrom:
                    fieldRef:
                      fieldPath: metadata.namespace
                - name: STRIMZI_KAFKA_BOOTSTRAP_SERVERS 
    2
    
                  value: my-kafka-bootstrap-address:9092
                - name: STRIMZI_CA_CERT_NAME 
    3
    
                  value: my-cluster-clients-ca-cert
                - name: STRIMZI_CA_KEY_NAME 
    4
    
                  value: my-cluster-clients-ca
                - name: STRIMZI_LABELS 
    5
    
                  value: "strimzi.io/cluster=my-cluster"
                - name: STRIMZI_FULL_RECONCILIATION_INTERVAL_MS 
    6
    
                  value: "120000"
                - name: STRIMZI_WORK_QUEUE_SIZE 
    7
    
                  value: 10000
                - name: STRIMZI_CONTROLLER_THREAD_POOL_SIZE 
    8
    
                  value: 10
                - name: STRIMZI_LOG_LEVEL 
    9
    
                  value: INFO
                - name: STRIMZI_GC_LOG_ENABLED 
    10
    
                  value: "true"
                - name: STRIMZI_CA_VALIDITY 
    11
    
                  value: "365"
                - name: STRIMZI_CA_RENEWAL 
    12
    
                  value: "30"
                - name: STRIMZI_JAVA_OPTS 
    13
    
                  value: "-Xmx=512M -Xms=256M"
                - name: STRIMZI_JAVA_SYSTEM_PROPERTIES 
    14
    
                  value: "-Djavax.net.debug=verbose -DpropertyName=value"
                - name: STRIMZI_SECRET_PREFIX 
    15
    
                  value: "kafka-"
                - name: STRIMZI_ACLS_ADMIN_API_SUPPORTED 
    16
    
                  value: "true"
                - name: STRIMZI_MAINTENANCE_TIME_WINDOWS 
    17
    
                  value: '* * 8-10 * * ?;* * 14-15 * * ?'
                - name: STRIMZI_KAFKA_ADMIN_CLIENT_CONFIGURATION 
    18
    
                  value: |
                    default.api.timeout.ms=120000
                    request.timeout.ms=60000

    1
    KafkaUser リソースを監視する User Operator の OpenShift namespace。指定できる namespace は 1 つだけです。
    2
    Kafka クラスターのすべてのブローカーを検出し、接続するブートストラップブローカーアドレスのホストとポートのペア。サーバーがダウンした場合に備えて、コンマ区切りリストを使用して 2 つまたは 3 つのブローカーアドレスを指定します。
    3
    mTLS 認証用の新しいユーザー証明書に署名する認証局の公開鍵 (ca.crt) 値を含む OpenShift Secret
    4
    mTLS 認証に対して新しいユーザー証明書に署名する認証局の秘密鍵 (ca.key) の値が含まれる OpenShift Secret
    5
    User Operator によって管理される KafkaUser リソースを識別するラベル。これは、Kafka クラスターの名前である必要はありません。KafkaUser リソースに割り当てられたラベルにすることができます。複数の User Operator をデプロイする場合、ラベルはそれぞれに一意である必要があります。つまり、Operator は同じリソースを管理できません。
    6
    定期的な調整の間隔 (秒単位)。デフォルトは 120000 (2 分) です。
    7
    コントローラーイベントキューのサイズ。キューのサイズは、User Operator が操作すると予想されるユーザーの最大数と少なくとも同じ大きさにする必要があります。デフォルトは 1024 です。
    8
    ユーザーを調整するためのワーカープールのサイズ。プールを大きくすると、より多くのリソースが必要になる可能性がありますが、より多くの KafkaUser リソースも処理されます。デフォルトは 50 です。
    9
    ロギングメッセージの出力レベル。レベルを、ERRORWARNINGINFODEBUG、または TRACE に設定できます。
    10
    ガベッジコレクション (GC) ロギングを有効にします。デフォルトは true です。
    11
    認証局の有効期間。デフォルトは 365 日です。
    12
    認証局の更新期間。更新期間は、現在の証明書の有効期日から逆算されます。デフォルトでは、古い証明書が期限切れになる前の証明書の更新期間は 30 日です。
    13
    (任意) User Operator を実行する JVM に使用される Java オプション。
    14
    (任意) User Operator に設定されたデバッグ (-D) オプション。
    15
    (オプション)User Operator によって作成される OpenShift シークレットの名前の接頭辞。
    16
    (任意)Kafka クラスターが Kafka Admin API を使用した承認 ACL ルールの管理をサポートするかどうかを示します。false に設定すると、User Operator は simple 承認 ACL ルールを持つすべてのリソースを拒否します。これは、Kafka クラスターログで不要な例外を回避するのに役立ちます。デフォルトは true です。
    17
    (オプション) 期限切れのユーザー証明書が更新されるメンテナンス時間枠を定義する Cron 式のセミコロンで区切られたリスト。
    18
    (オプション) プロパティー形式で User Operator が使用する Kafka Admin クライアントを設定するための設定オプション。
  2. mTLS を使用して Kafka クラスターに接続する場合は、接続の認証に使用されるシークレットを指定します。それ以外の場合は、次のステップに進みます。

    mTLS 設定の例

    # ....
    env:
      - name: STRIMZI_CLUSTER_CA_CERT_SECRET_NAME 
    1
    
        value: my-cluster-cluster-ca-cert
      - name: STRIMZI_EO_KEY_SECRET_NAME 
    2
    
        value: my-cluster-entity-operator-certs
    # ..."

    1
    Kafka ブローカー証明書に署名する CA の公開鍵 (ca.crt) 値を含む OpenShift Secret
    2
    Kafka クラスターに対する mTLS 認証の秘密鍵と証明書が含まれるキーストア (entity-operator.p12) が含まれる OpenShift SecretSecret には、キーストアにアクセスするためのパスワード (entity-operator.password) も含まれる必要があります。
  3. User Operator をデプロイします。

    oc create -f install/user-operator
  4. デプロイメントのステータスを確認します。

    oc get deployments

    デプロイメント名と準備状態が表示されている出力

    NAME                   READY  UP-TO-DATE  AVAILABLE
    strimzi-user-operator  1/1    1           1

    READY は、Ready/expected 状態のレプリカ数を表示します。AVAILABLE 出力に 1 が表示されれば、デプロイメントは成功しています。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る