第5章 インストールアーティファクトを使用した AMQ Streams のデプロイ


OperatorHub で AMQ Streams Operator を使用して AMQ Streams をデプロイする代わりに、インストールアーティファクトを使用できます。AMQ Streams のデプロイメント環境の準備 が整ったら、以下を実行できます。

これらの手順は、OpenShift クラスターが利用可能で稼働していることを想定しています。

AMQ Streams は AMQ Streams Strimzi 0.24.x をベースとしています。ここでは、OpenShift 4.6 および 4.8 に AMQ Streams をデプロイする方法を説明します。

注記

本ガイドのコマンドを実行するには、クラスターユーザーに 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 と使用する場合は、このデプロイメント手順を実行します。

  1. Cluster Operator をデプロイします
  2. Cluster Operator を使用して以下をデプロイします。

スタンドアロン Topic Operator および User Operator のデプロイ

AMQ Streams によって管理されない Kafka クラスターを Topic Operator および User Operator と使用する場合は、このデプロイメント手順を実行します。

5.1.1. Cluster Operator のデプロイ

Cluster Operator は、OpenShift クラスター内で Apache Kafka クラスターのデプロイおよび管理を行います。

本セクションの手順は以下を説明します。

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
  • Source2Image がサポートされる Kafka Connect クラスターの KafkaConnectS2I
  • Kafka Connect クラスターでコネクターを作成および管理するための KafkaConnector
  • Kafka MirrorMaker インスタンスの KafkaMirrorMaker
  • Kafka Bridge インスタンスの KafkaBridge

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 をデプロイする方法を説明します。

前提条件

  • この手順では、CustomResourceDefinitionsClusterRoles、および ClusterRoleBindings を作成できる OpenShift ユーザーアカウントを使用する必要があります。通常、OpenShift クラスターでロールベースアクセス制御 (RBAC) を使用する場合、これらのリソースを作成、編集、および削除する権限を持つユーザーは system:admin などの OpenShift クラスター管理者に限定されます。

手順

  1. 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

    MacOS の場合は、以下を使用します。

    sed -i '' 's/namespace: .*/namespace: my-cluster-operator-namespace/' install/cluster-operator/*RoleBinding*.yaml
  2. Cluster Operator をデプロイします。

    oc create -f install/cluster-operator -n my-cluster-operator-namespace
  3. Cluster Operator が正常にデプロイされたことを確認します。

    oc get deployments

5.1.1.3. 複数の namespace を監視対象とする Cluster Operator のデプロイメント

この手順では、OpenShift クラスターの複数の namespace 全体で AMQ Streams リソースを監視するように Cluster Operator をデプロイする方法を説明します。

前提条件

  • この手順では、CustomResourceDefinitionsClusterRoles、および ClusterRoleBindings を作成できる OpenShift ユーザーアカウントを使用する必要があります。通常、OpenShift クラスターでロールベースアクセス制御 (RBAC) を使用する場合、これらのリソースを作成、編集、および削除する権限を持つユーザーは system:admin などの OpenShift クラスター管理者に限定されます。

手順

  1. 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

    MacOS の場合は、以下を使用します。

    sed -i '' 's/namespace: .*/namespace: my-cluster-operator-namespace/' install/cluster-operator/*RoleBinding*.yaml
  2. install/cluster-operator/060-Deployment-strimzi-cluster-operator.yaml ファイルを編集し、Cluster Operator によって監視されるすべての namespace のリストを STRIMZI_NAMESPACE 環境変数に追加します。

    たとえば、この手順では Cluster Operator は watched-namespace-1watched-namespace-2、および watched-namespace-3 という namespace を監視します。

    apiVersion: apps/v1
    kind: Deployment
    spec:
      # ...
      template:
        spec:
          serviceAccountName: strimzi-cluster-operator
          containers:
          - name: strimzi-cluster-operator
            image: registry.redhat.io/amq7/amq-streams-rhel7-operator:1.8.0
            imagePullPolicy: IfNotPresent
            env:
            - name: STRIMZI_NAMESPACE
              value: watched-namespace-1,watched-namespace-2,watched-namespace-3
  3. リストした各 namespace に RoleBindings をインストールします。

    この例では、コマンドの watched-namespace を前述のステップでリストした namespace に置き換えます。watched-namespace-1watched-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
  4. Cluster Operator をデプロイします。

    oc create -f install/cluster-operator -n my-cluster-operator-namespace
  5. Cluster Operator が正常にデプロイされたことを確認します。

    oc get deployments

5.1.1.4. すべての namespace を対象とする Cluster Operator のデプロイメント

この手順では、OpenShift クラスターのすべての namespace 全体で AMQ Streams リソースを監視するように Cluster Operator をデプロイする方法を説明します。

このモードで実行している場合、Cluster Operator によって、新規作成された namespace でクラスターが自動的に管理されます。

前提条件

  • この手順では、CustomResourceDefinitionsClusterRoles、および ClusterRoleBindings を作成できる OpenShift ユーザーアカウントを使用する必要があります。通常、OpenShift クラスターでロールベースアクセス制御 (RBAC) を使用する場合、これらのリソースを作成、編集、および削除する権限を持つユーザーは system:admin などの OpenShift クラスター管理者に限定されます。

手順

  1. 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

    MacOS の場合は、以下を使用します。

    sed -i '' 's/namespace: .*/namespace: my-cluster-operator-namespace/' install/cluster-operator/*RoleBinding*.yaml
  2. install/cluster-operator/060-Deployment-strimzi-cluster-operator.yaml ファイルを編集し、STRIMZI_NAMESPACE 環境変数の値を * に設定します。

    apiVersion: apps/v1
    kind: Deployment
    spec:
      # ...
      template:
        spec:
          # ...
          serviceAccountName: strimzi-cluster-operator
          containers:
          - name: strimzi-cluster-operator
            image: registry.redhat.io/amq7/amq-streams-rhel7-operator:1.8.0
            imagePullPolicy: IfNotPresent
            env:
            - name: STRIMZI_NAMESPACE
              value: "*"
            # ...
  3. クラスター全体ですべての 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

    my-cluster-operator-namespace は、Cluster Operator をインストールする namespace に置き換えます。

  4. Cluster Operator を OpenShift クラスターにデプロイします。

    oc create -f install/cluster-operator -n my-cluster-operator-namespace
  5. Cluster Operator が正常にデプロイされたことを確認します。

    oc get deployments

5.1.2. Kafka のデプロイ

Apache Kafka は、耐障害性のリアルタイムデータフィードを実現する、オープンソースの分散型 publish/subscribe メッセージングシステムです。

本セクションの手順は以下を説明します。

Kafka をインストールする場合、AMQ Streams によって ZooKeeper クラスターもインストールされ、Kafka と ZooKeeper との接続に必要な設定が追加されます。

5.1.2.1. Kafka クラスターのデプロイメント

この手順では、Cluster Operator を使用して Kafka クラスターを OpenShift にデプロイする方法を説明します。

デプロイメントでは、YAML ファイルの仕様を使って Kafka リソースが作成されます。

AMQ Streams では、デプロイメントの YAML ファイルのサンプルは examples/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 ボリュームを使用できます。PersistentVolumeClaimStorageClass を使用し、自動ボリュームプロビジョニングをトリガーすることができます。

サンプル YAML ファイルは、サポートされる最新の Kafka バージョンを指定し、サポートされるログメッセージ形式バージョンの設定とブローカー間のプロトコルバージョンの設定を指定します。Kafka のアップグレード時に、これらのプロパティーの更新が必要になります。

サンプルクラスターの名前はデフォルトで my-cluster になります。クラスター名はリソースの名前によって定義され、クラスターがデプロイされた後に変更できません。クラスターをデプロイする前にクラスター名を変更するには、関連する YAML ファイルにある Kafka リソースの Kafka.metadata.name プロパティーを編集します。

デフォルトのクラスター名および指定された Kafka バージョン

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
  name: my-cluster
spec:
  kafka:
    version: 2.8.0
    #...
    config:
      #...
      log.message.format.version: 2.8
      inter.broker.protocol.version: 2.8
  # ...

Kafka リソースの設定に関する詳細は、『Using AMQ Streams on OpenShift』の「Kafka cluster configuration」を参照してください。

手順

  1. 一時 または 永続 クラスターを作成およびデプロイします。

    開発またはテストでは、一時クラスターの使用が適している可能性があります。永続クラスターはどのような状況でも使用することができます。

    • 一時 クラスターを作成およびデプロイするには、以下を実行します。

      oc apply -f examples/kafka/kafka-ephemeral.yaml
    • 永続 クラスターを作成およびデプロイするには、以下を実行します。

      oc apply -f examples/kafka/kafka-persistent.yaml
  2. Kafka クラスターが正常にデプロイされたことを確認します。

    oc get deployments

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」を参照してください。

手順

  1. Kafka リソースの entityOperator プロパティーを編集し、topicOperator が含まれるようにします。

    apiVersion: kafka.strimzi.io/v1beta2
    kind: Kafka
    metadata:
      name: my-cluster
    spec:
      #...
      entityOperator:
        topicOperator: {}
        userOperator: {}
  2. EntityTopicOperatorSpec schema reference」に記載されているプロパティーを使用して、Topic Operator の spec を設定します。

    すべてのプロパティーにデフォルト値を使用する場合は、空のオブジェクト ({}) を使用します。

  3. リソースを作成または更新します。

    次のように oc apply を使用します。

    oc apply -f <your-file>

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」を参照してください。

手順

  1. Kafka リソースの entityOperator プロパティーを編集し、userOperator が含まれるようにします。

    apiVersion: kafka.strimzi.io/v1beta2
    kind: Kafka
    metadata:
      name: my-cluster
    spec:
      #...
      entityOperator:
        topicOperator: {}
        userOperator: {}
  2. Using AMQ Streams on OpenShift』の「EntityUserOperatorSpec schema reference」に記載されているプロパティーを使用して、User Operator の spec を設定します。

    すべてのプロパティーにデフォルト値を使用する場合は、空のオブジェクト ({}) を使用します。

  3. リソースを作成または更新します。

    oc apply -f <your-file>

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

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

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

注記

スタンドアロンデプロイメントでは、Topic Operator および User Operator は AMQ Streams Kafka クラスター (つまり Cluster Operator を使用してデプロイされた Kafka クラスター) に接続しません。クラスターとの接続が確立されていても、operator は機能しません。

5.1.3.1. スタンドアロン Topic Operator のデプロイ

この手順では、Topic Operator をトピック管理のスタンドアロンコンポーネントとしてデプロイする方法を説明します。スタンドアロン Topic Operator を Cluster Operator によって管理されない Kafka クラスターと使用できます。

スタンドアロンデプロイメントは任意の Kafka クラスターと操作できます。

スタンドアロンデプロイメントファイルが提供されます。05-Deployment-strimzi-topic-operator.yaml デプロイメントファイルを設定し、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"

    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
    ロギングメッセージの出力レベル。レベルを、ERRORWARNINGINFODEBUG、または TRACE に設定できます。
    9
    Kafka ブローカーとの暗号化通信の TLS サポートを有効にします。
    10
    (任意) Topic Operator を実行する JVM によって使用される Java オプション。
    11
    (任意) Topic Operator に設定されたデバッグ (-D) オプション。
  2. STRIMZI_TLS_ENABLED 環境変数で TLS を有効にした場合、Kafka クラスターへの接続を認証するために使用されるキーストアおよびトラストストアを指定します。

    TLS の設定例

    # ....
    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
    トラストストアには、TLS クライアント認証に対して新しいユーザー証明書に署名するために使用される認証局の公開鍵 (ca.crt) の値が含まれています。
    2
    トラストストアにアクセスするためのパスワード。
    3
    キーストアには、TLS クライアント認証に対して新しいユーザー証明書を署名するための認証局の秘密鍵 (ca.key) が含まれます。
    4
    キーストアにアクセスするためのパスワード
  3. スタンドアロン Topic Operator をデプロイします。

    oc create -f install/topic-operator
  4. スタンドアロン Topic Operator が正常にデプロイされていることを確認します。

    oc describe deployment strimzi-topic-operator

    スタンドアロン Topic Operator は、Replicas エントリーに 1 available が表示され ればデプロイされます。

    注記

    OpenShift への接続が低速な場合や Topic Operator イメージがこれまでダウンロードされたことがない場合は、デプロイメントに遅延が発生することがあります。

5.1.3.2. スタンドアロン User Operator のデプロイ

この手順では User Operator をユーザー管理のスタンドアロンコンポーネントとしてデプロイする方法を説明します。スタンドアロン User Operator を Cluster Operator によって管理されない Kafka クラスターと使用できます。

スタンドアロンデプロイメントは任意の Kafka クラスターと操作できます。

スタンドアロンデプロイメントファイルが提供されます。05-Deployment-strimzi-user-operator.yaml デプロイメントファイルを編集し、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_ZOOKEEPER_CONNECT 
    5
    
                  value: my-cluster-zookeeper-client:2181
                - name: STRIMZI_LABELS 
    6
    
                  value: "strimzi.io/cluster=my-cluster"
                - name: STRIMZI_FULL_RECONCILIATION_INTERVAL_MS 
    7
    
                  value: "120000"
                - name: STRIMZI_ZOOKEEPER_CONNECT 
    8
    
                  value: my-cluster-zookeeper-client:2181
                - name: STRIMZI_ZOOKEEPER_SESSION_TIMEOUT_MS 
    9
    
                  value: "18000"
                - name: STRIMZI_LOG_LEVEL 
    10
    
                  value: INFO
                - name: STRIMZI_GC_LOG_ENABLED 
    11
    
                  value: "true"
                - name: STRIMZI_CA_VALIDITY 
    12
    
                  value: "365"
                - name: STRIMZI_CA_RENEWAL 
    13
    
                  value: "30"
                - name: STRIMZI_JAVA_OPTS 
    14
    
                  value: "-Xmx=512M -Xms=256M"
                - name: STRIMZI_JAVA_SYSTEM_PROPERTIES 
    15
    
                  value: "-Djavax.net.debug=verbose -DpropertyName=value"

    1
    KafkaUser リソースを監視する User Operator の OpenShift namespace。指定できる namespace は 1 つだけです。
    2
    Kafka クラスターのすべてのブローカーを検出し、接続するブートストラップブローカーアドレスのホストとポートのペア。サーバーがダウンした場合に備えて、コンマ区切りリストを使用して 2 つまたは 3 つのブローカーアドレスを指定します。
    3
    TLS クライアント認証に対して新しいユーザー証明書に署名する認証局の公開鍵 (ca.crt) の値が含まれる OpenShift Secret
    4
    TLS クライアント認証に対して新しいユーザー証明書に署名する認証局の秘密鍵 (ca.key) の値が含まれる OpenShift Secret
    5
    ZooKeeper クラスターに接続するためのアドレスのホストおよびポートのペア。これは、Kafka クラスターが使用する ZooKeeper クラスターと同じである必要があります。
    6
    User Operator によって管理される KafkaUser リソースを識別するために使用されるラベルセレクター。
    7
    定期的な調整の間隔 (秒単位)。デフォルトは 120000 (2 分) です。
    8
    ZooKeeper クラスターに接続するためのアドレスのホストおよびポートのペア。これは、Kafka クラスターが使用する ZooKeeper クラスターと同じである必要があります。
    9
    ZooKeeper セッションのタイムアウト (秒単位)。デフォルトは 18000 (18 秒) です。
    10
    ロギングメッセージの出力レベル。レベルを、ERRORWARNINGINFODEBUG、または TRACE に設定できます。
    11
    ガベッジコレクション (GC) ロギングを有効にします。デフォルトは true です。
    12
    認証局の有効期限。デフォルトは 365 日です。
    13
    認証局の更新期間。更新期間は、現在の証明書の有効期日から逆算されます。デフォルトでは、古い証明書が期限切れになる前の証明書の更新期間は 30 日です。
    14
    (任意) User Operator を実行する JVM によって使用される Java オプション。
    15
    (任意) User Operator に設定されたデバッグ (-D) オプション。
  2. TLS を使用して Kafka クラスターに接続する場合は、接続の認証に使用されるシークレットを指定します。それ以外の場合は、次のステップに進みます。

    TLS の設定例

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

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

    oc create -f install/user-operator
  4. スタンドアロン User Operator が正常にデプロイされていることを確認します。

    oc describe deployment strimzi-user-operator

    Replicas エントリーに 1 available が表示されれば、スタンドアロン User Operator はデプロイされています。

    注記

    OpenShift への接続が低速な場合や User Operator イメージがこれまでダウンロードされたことがない場合は、デプロイメントに遅延が発生することがあります。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る