1.4. コンテナーレジストリー認証の設定
3scale 管理者は、3scale コンテナーイメージを OpenShift にデプロイする前に、registry.redhat.io
との認証を設定します。
前提条件
- OpenShift Container Platform クラスターへアクセスできるクラスター管理者権限。
-
OpenShift
oc
クライアントツールがインストール済みであること。詳細は、OpenShift CLI のドキュメント を参照してください。
手順
管理者として OpenShift クラスターにログインします。
$ oc login -u system:admin
3scale をデプロイするプロジェクトを開きます。
$ oc project myproject
Red Hat カスタマーポータルアカウントを使用して
docker-registry
シークレットを作成します。threescale-registry-auth
は作成するシークレットに置き換えます。$ oc create secret docker-registry threescale-registry-auth \ --docker-server=registry.redhat.io \ --docker-username=CUSTOMER_PORTAL_USERNAME \ --docker-password=CUSTOMER_PORTAL_PASSWORD \ --docker-email=EMAIL_ADDRESS
以下の出力が表示されるはずです。
secret/threescale-registry-auth created
シークレットをサービスアカウントにリンクして、シークレットをイメージをプルするために使用します。サービスアカウント名は、OpenShift Pod が使用する名前と一致する必要があります。以下は、
default
サービスアカウントを使用する例になります。$ oc secrets link default threescale-registry-auth --for=pull
シークレットを
builder
サービスアカウントにリンクし、ビルドイメージをプッシュおよびプルするためにシークレットを使用します。$ oc secrets link builder threescale-registry-auth
関連情報
コンテナーイメージに対する Red Hat の認証に関する詳細は、以下を参照してください。
1.4.1. レジストリーサービスアカウントの作成
OpenShift 上にデプロイされた 3scale 2.8 と共に共有環境で registry.redhat.io
からのコンテナーイメージを使用するには、個々のユーザーの カスタマーポータル のクレデンシャルではなく、レジストリーサービスアカウント を使用する必要があります。
テンプレートまたは operator のどちらを使用して 3scale 2.8 を OpenShift にデプロイする場合でも、その前に以下に概略を示す手順に従う必要があります。両オプションともレジストリーの認証を使用するためです。
手順
- Registry Service Accounts のページに移動し、ログインします。
- New Service Account をクリックします。
Create a New Registry Service Account のページに表示されるフォームに入力します。
サービスアカウント の名前を追加します。
注記: フォームのフィールドの前に、決められた桁数のランダムに生成された数字の文字列が表示されます。
- Description を入力します。
- Create をクリックします。
- Registry Service Accounts のページに戻ります。
- 作成した サービスアカウント をクリックします。
接頭辞の文字列を含めたユーザー名 (例: 12345678|username) およびパスワードを書き留めます。
-
このユーザー名およびパスワードは、
registry.redhat.io
へのログインに使用されます。
-
このユーザー名およびパスワードは、
Token Information のページには、認証トークンの使用方法を説明したタブがあります。たとえば、Token Information タブには、12345678|username フォーマットのユーザー名およびその下にパスワードの文字列が表示されます。