3.2. 内部レジストリーのシークレットの設定
制限された docker レジストリーを設定し、すべてのイメージをプッシュした後、内部レジストリーと通信できるように、制限された OpenShift サーバーを設定する必要があります。
手順
OpenShift サーバーに管理者としてログインします。
oc login --user system:admin --token=my-token --server=https://my-cluster.example.com:6443
Red Hat カスタマーポータルアカウントまたは Red Hat Developer Program アカウントのクレデンシャルを使用して、docker-registry シークレットを作成します。
<pull_secret_name>
は作成するシークレットの名前に置き換えてください。oc create secret docker-registry psi-internal-registry <pull_secret_name> \ --docker-server=docker-registry.upshift.redhat.com \ --docker-username=CUSTOMER_PORTAL_USERNAME \ --docker-password=CUSTOMER_PORTAL_PASSWORD \ --docker-email=EMAIL_ADDRESS
Pod のイメージをプルするためにシークレットを使用するには、シークレットをサービスアカウントに追加します。サービスアカウントの名前は、Pod が使用するサービスアカウントの名前と一致する必要があります。
oc secrets add serviceaccount/builder secrets/psi-internal-registry oc secrets add serviceaccount/default secrets/psi-internal-registry --for=pull oc secrets add serviceaccount/builder secrets/psi-internal-registry
ビルドイメージをプッシュまたはプルするためにシークレットを使用するには、シークレットを Pod の内部にマウントできる必要があります。シークレットをマウントするには、以下のコマンドを使用します。
oc secrets link default psi-internal-registry oc secrets link default psi-internal-registry --for=pull oc secrets link builder psi-internal-registry