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ファイルがすでにある場合は、次のコマンドを実行して、そのファイルからシークレットを作成できます。$ oc create secret generic <pull_secret_name> \ --from-file=.dockercfg=<path/to/.dockercfg> \ --type=kubernetes.io/dockercfgまたは、
$HOME/.docker/config.jsonファイルがある場合は、以下のコマンドを実行します。$ oc create secret generic <pull_secret_name> \ --from-file=.dockerconfigjson=<path/to/.docker/config.json> \ --type=kubernetes.io/dockerconfigjsonセキュアなレジストリーの Docker 認証情報ファイルがまだない場合は、次のコマンドを実行してシークレットを作成できます。
$ oc create secret docker-registry <pull_secret_name> \ --docker-server=<registry_server> \ --docker-username=<user_name> \ --docker-password=<password> \ --docker-email=<email>Pod のイメージをプルするためにシークレットを使用するには、サービスアカウントにシークレットを追加する必要があります。この例では、サービスアカウントの名前は、Pod が使用するサービスアカウントの名前に一致している必要があります。デフォルトはデフォルトのサービスアカウントです。
$ oc secrets link default <pull_secret_name> --for=pullオプション: ビルドイメージのプッシュおよびプルにシークレットを使用するには、Pod 内にシークレットがマウント可能でなければなりません。以下でこれを実行できます。
$ oc secrets link builder <pull_secret_name>- オプション: ビルドについては、ビルド設定内からのプルシークレットとしてシークレットを参照する必要もあります。
コンテナーグループが正常に作成されると、新しく作成されたコンテナーグループの Details タブが表示されます。これにより、コンテナーグループ情報を確認し、編集できます。これは、インスタンスグループ のリンクから、 アイコン ✎ をクリックした場合に開くメニューと同じです。インスタンスを編集し、このインスタンスグループに関連付けられたジョブを確認することもできます。