1.3. Pod による他のセキュアなレジストリーからのイメージ参照の許可
コンテナーグループが、認証情報を必要とするセキュアなレジストリーのコンテナーを使用する場合は、コンテナーレジストリーの認証情報を、ジョブテンプレートに割り当てられている実行環境に関連付けることができます。Automation Controller はこれを使用して、コンテナーグループジョブが実行される OpenShift Container Platform の名前空間に ImagePullSecret
を作成し、ジョブの完了後にクリーンアップします。
コンテナーグループの名前空間に ImagePullSecret
がすでに存在する場合は、ContainerGroup
のカスタム Pod 仕様で ImagePullSecret
を指定できます。
コンテナーグループで実行しているジョブで使用されるイメージは、必ずそのジョブに関連付けられている実行環境によってオーバーライドされることに注意してください。
事前に作成された ImagePullSecrets の使用 (詳細)
このワークフローを使用して ImagePullSecret
を事前に作成する場合は、以前にセキュアなコンテナーレジストリーにアクセスしたシステム上のローカル .dockercfg
ファイルから作成に必要な情報を入手できます。
手順
.dockercfg file
ファイル (新しい Docker クライアントの場合は $HOME/.docker/config.json
) は、ユーザーの情報を保管する Docker 認証情報ファイルです (以前にセキュアな/セキュアではないレジストリーにログインしている場合)。
セキュアなレジストリーの
.dockercfg
ファイルがすでにある場合は、次のコマンドを実行して、そのファイルからシークレットを作成できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create secret generic <pull_secret_name> \ --from-file=.dockercfg=<path/to/.dockercfg> \ --type=kubernetes.io/dockercfg
$ oc create secret generic <pull_secret_name> \ --from-file=.dockercfg=<path/to/.dockercfg> \ --type=kubernetes.io/dockercfg
または、
$HOME/.docker/config.json
ファイルがある場合は、以下のコマンドを実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create secret generic <pull_secret_name> \ --from-file=.dockerconfigjson=<path/to/.docker/config.json> \ --type=kubernetes.io/dockerconfigjson
$ oc create secret generic <pull_secret_name> \ --from-file=.dockerconfigjson=<path/to/.docker/config.json> \ --type=kubernetes.io/dockerconfigjson
セキュアなレジストリーの Docker 認証情報ファイルがまだない場合は、次のコマンドを実行してシークレットを作成できます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create secret docker-registry <pull_secret_name> \ --docker-server=<registry_server> \ --docker-username=<user_name> \ --docker-password=<password> \ --docker-email=<email>
$ oc create secret docker-registry <pull_secret_name> \ --docker-server=<registry_server> \ --docker-username=<user_name> \ --docker-password=<password> \ --docker-email=<email>
Pod のイメージをプルするためにシークレットを使用するには、サービスアカウントにシークレットを追加する必要があります。この例では、サービスアカウントの名前は、Pod が使用するサービスアカウントの名前に一致している必要があります。デフォルトはデフォルトのサービスアカウントです。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc secrets link default <pull_secret_name> --for=pull
$ oc secrets link default <pull_secret_name> --for=pull
オプション: ビルドイメージのプッシュおよびプルにシークレットを使用するには、Pod 内にシークレットがマウント可能でなければなりません。以下でこれを実行できます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc secrets link builder <pull_secret_name>
$ oc secrets link builder <pull_secret_name>
- オプション: ビルドについては、ビルド設定内からのプルシークレットとしてシークレットを参照する必要もあります。
コンテナーグループが正常に作成されると、新しく作成されたコンテナーグループの Details タブが表示されます。これにより、コンテナーグループ情報を確認し、編集できます。これは、インスタンスグループ のリンクから、 アイコン ✎ をクリックした場合に開くメニューと同じです。インスタンスを編集し、このインスタンスグループに関連付けられたジョブを確認することもできます。