Confluent Platform に対するカスタム Docker レジストリの使用

Confluent for Kubernetes (CFK)は、Docker Hub でホストされ公開されている Docker イメージを confluentinc リポジトリからデプロイします。

CFK で Confluent Platform イメージを別のレジストリから、または Docker Hub 上の独自のリポジトリセットからデプロイするには、以下の手順に従ってください。

  1. Confluent リポジトリから目的のイメージをプルし、ターゲットレジストリにプッシュします。

    以下に記載されているのは、デフォルトの Docker イメージの URI 一覧です。

    Confluent Platform コンポーネントイメージの <tag> は、コンポーネントのバージョンです。たとえば、ZooKeeper バージョン 7.1.0 イメージの URI は docker.io/confluentinc/cp-zookeeper:7.1.0 となります。

    confluent-operator イメージのタグを選択する場合は、「Confluent for Kubernetes のイメージ タグとバージョン」を参照してください。

    init コンテナーの <tag> は、CFK のバージョンになります。

    docker.io/confluentinc/confluent-init-container:<tag>
    docker.io/confluentinc/confluent-operator:<tag>
    docker.io/confluentinc/cp-enterprise-control-center:<tag>
    docker.io/confluentinc/cp-enterprise-replicator:<tag>
    docker.io/confluentinc/cp-kafka-rest:<tag>
    docker.io/confluentinc/cp-ksqldb-server:<tag>
    docker.io/confluentinc/cp-schema-registry:<tag>
    docker.io/confluentinc/cp-server:<tag>
    docker.io/confluentinc/cp-server-connect:<tag>
    docker.io/confluentinc/cp-zookeeper:<tag>
    
  2. イメージレジストリに対し、ユーザー名とパスワードで認証を行う必要がある場合、その各レジストリについて、Confluent Platform コンポーネントと同じ名前空間に docker-registry タイプの Kubernetes シークレットを作成します。

    イメージプルシークレットには、プルするイメージが置かれているレジストリへの認証情報が格納されます。

    <confluent-namespace> は、この Confluent Platform コンポーネントのデプロイ先となる名前空間を表します。

    kubectl create secret docker-registry <registry-secret> \
      --namespace <confluent-namespace>
      --docker-server=<Docker-registry-FQDN> \
      --docker-username=<Docker-username> \
      --docker-password=<Docker-password> \
      --docker-email=<Docker-email>
    
  3. 各 Confluent Platform コンポーネントについて、カスタムリソース(CR)で次の設定を構成します。

    spec:
      image:            # Changes in this property will roll the cluster.
    
        application:    # Required. Specify
                        # <Docker-registry FQDN>/<docker-repository-name>/<component-image-name>:<tag>
    
        init:           # Required. Specify
                        # <Docker-registry FQDN>/<docker-repository-name>/<init-container-image-name>:<tag>
    
        pullSecretRef:  # The image pull secret added in the previous step.
    

    たとえば、前の手順で作成した registry-secret を使用してカスタムレジストリから Schema Registry イメージをプルするには、次のようにします。

    spec:
      image:
        application: docker.io/myrepository/cp-schema-registry:7.1.0
        init: docker.io/myrepository/confluent-init-container:2.3.1
        pullSecretRef:
          - registry-secret