3.3. Kafka Connect S2I のコンテナーレジストリーでの認証
OpenShift ビルドおよび S2I(Source-to-Image)を使用してコンテナーイメージを作成する前に、Red Hat コンテナーレジストリー(registry.redhat.io
) で認証を設定する必要があります。
コンテナーレジストリーは、AMQ Streams コンテナーイメージを Red Hat Ecosystem Catalog に保存するために使用されます。カタログには、S2I がサポートされる Kafka Connect ビルダーイメージが含まれます。OpenShift ビルドは、ソースコードおよびバイナリーと共にこのビルダーイメージをプルし、これを使用して新しいコンテナーイメージをビルドします。
Red Hat コンテナーレジストリーによる認証は、Kafka Connect S2I を使用する場合のみ必要です。他の AMQ Streams コンポーネントには必要ありません。
前提条件
- OpenShift Container Platform クラスターへアクセスできるクラスター管理者権限。
- Red Hat カスタマーポータルのアカウントのログイン詳細。付録A サブスクリプションの使用 を参照してください。
手順
必要であれば、管理者として OpenShift クラスターにログインします。
oc login --user system:admin --token=my-token --server=https://my-cluster.example.com:6443
Kafka Connect S2I クラスターが含まれるプロジェクトを開きます。
oc project CLUSTER-NAME
注記Kafka Connect S2I クラスターがすでにデプロイされている可能性があります。
Red Hat カスタマーポータルアカウントを使用して
docker-registry
シークレットを作成します。PULL-SECRET-NAME
は、作成するシークレット名に置き換えます。oc create secret docker-registry PULL-SECRET-NAME \ --docker-server=registry.redhat.io \ --docker-username=CUSTOMER-PORTAL-USERNAME \ --docker-password=CUSTOMER-PORTAL-PASSWORD \ --docker-email=EMAIL-ADDRESS
以下の出力が表示されるはずです。
secret/PULL-SECRET-NAME created
重要この
docker-registry
シークレットを、registry.redhat.io
に対して認証されるすべての OpenShift プロジェクトに作成する必要があります。シークレットをサービスアカウントにリンクして、シークレットをイメージをプルするために使用します。サービスアカウント名は、OpenShift Pod が使用する名前と一致する必要があります。
oc secrets link SERVICE-ACCOUNT-NAME PULL-SECRET-NAME --for=pull
たとえば、
デフォルトのサービスアカウント
とmy-secret
という名前のシークレットを使用します。oc secrets link default my-secret --for=pull
シークレットを
builder
サービスアカウントにリンクし、ビルドイメージをプッシュおよびプルするためにシークレットを使用します。oc secrets link builder PULL-SECRET-NAME
注記Red Hat のユーザー名とパスワードを使用してプルシークレットを作成したくない場合は、レジストリーサービスアカウントを使用して認証トークンを作成できます。
その他のリソース
- 「OpenShift ビルドおよび S2I (Source-to-Image) を使用したコンテナーイメージの作成」
- Red Hat コンテナーレジストリーの認証 (Red Hat ナレッジベース)
- Red Hat カスタマーポータルのレジストリーサービスアカウント