3.2. 内部レジストリーのシークレットの設定

制限された docker レジストリーを設定し、すべてのイメージをプッシュした後、内部レジストリーと通信できるように、制限された OpenShift サーバーを設定する必要があります。

手順

  1. OpenShift サーバーに管理者としてログインします。

    oc login -u system:admin
  2. 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
  3. 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
  4. ビルドイメージをプッシュまたはプルするためにシークレットを使用するには、シークレットを Pod の内部にマウントできる必要があります。シークレットをマウントするには、以下のコマンドを使用します。

    oc secrets link default psi-internal-registry
    oc secrets link default psi-internal-registry --for=pull
    oc secrets link builder psi-internal-registry