5.4.2. Pod が他のセキュリティー保護されたレジストリーからイメージを参照できるようにする設定


プルシークレットを使用すると、OpenShift Container Platform の Pod は、セキュリティーで保護されたレジストリーで認証を行い、コンテナーイメージをプルできます。Docker と Podman は認証情報を設定ファイルに保存するため、それを使ってサービスアカウントのプルシークレットを作成できます。

以前にセキュリティー保護されたレジストリーまたはセキュリティー保護されていないレジストリーにログインしたことがある場合、以下のファイルには認証情報が保存されます。

  • Docker: Docker は、デフォルトで $HOME/.docker/config.json を使用します。
  • Podman: Podman は、デフォルトで $HOME/.config/containers/auth.json を使用します。
注記

quay.ioquay.io/<example_repository> のような一意のパスがある場合、Docker と Podman の認証情報ファイルおよび関連するプルシークレットには、同一レジストリーへの複数の参照を含めることができます。ただし、Docker および Podman のいずれも、まったく同じレジストリーパスの複数エントリーはサポートしていません。

config.json ファイルのサンプル

{
   "auths":{
      "cloud.openshift.com":{
         "auth":"b3Blb=",
         "email":"you@example.com"
      },
      "quay.io":{
         "auth":"b3Blb=",
         "email":"you@example.com"
      },
      "quay.io/repository-main":{
         "auth":"b3Blb=",
         "email":"you@example.com"
      }
   }
}

プルシークレットの例

apiVersion: v1
data:
  .dockerconfigjson: ewogICAiYXV0aHMiOnsKICAgICAgIm0iOnsKICAgICAgIsKICAgICAgICAgImF1dGgiOiJiM0JsYj0iLAogICAgICAgICAiZW1haWwiOiJ5b3VAZXhhbXBsZS5jb20iCiAgICAgIH0KICAgfQp9Cg==
kind: Secret
metadata:
  creationTimestamp: "2021-09-09T19:10:11Z"
  name: pull-secret
  namespace: default
  resourceVersion: "37676"
  uid: e2851531-01bc-48ba-878c-de96cfe31020
type: Opaque

5.4.2.1. プルシークレットの作成

OpenShift Container Platform のコンテナーレジストリーで認証を行うには、既存の Docker または Podman 認証ファイルからプルシークレットを作成できます。oc create secret docker-registry コマンドを使用して、レジストリー認証情報を直接指定することで、シークレットを作成することもできます。

手順

  1. 既存の認証ファイルからシークレットを作成します。

    1. .docker/config.json を使用する Docker クライアントの場合は、次のコマンドを入力します。

      $ oc create secret generic <pull_secret_name> \
          --from-file=.dockerconfigjson=<path/to/.docker/config.json> \
          --type=kubernetes.io/dockerconfigjson
    2. .config/containers/auth.json を使用する Podman クライアントの場合は、次のコマンドを入力します。

      $ oc create secret generic <pull_secret_name> \
           --from-file=<path/to/.config/containers/auth.json> \
           --type=kubernetes.io/podmanconfigjson
  2. オプション: 保護されたレジストリー用の Docker 認証情報がまだない場合は、次のコマンドを実行してシークレットを作成できます。

    $ oc create secret docker-registry <pull_secret_name> \
        --docker-server=<registry_server> \
        --docker-username=<user_name> \
        --docker-password=<password> \
        --docker-email=<email>
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る