検索

7.3.7. イメージの外部レジストリーからのインポート

download PDF

アプリケーション開発者は oc import-image コマンドでイメージをインポートして imagestreams を作成でき、OpenShift Container Platform は外部レジストリーからのイメージインポートを許可または拒否するように設定できます。

手順
  1. ユーザーがイメージをインポートできる許可されたレジストリーを設定するには、以下を /etc/origin/master/master-config.yaml ファイルに追加します。

    imagePolicyConfig:
      allowedRegistriesForImport:
      - domainName: docker.io
      - domainName: '\*.docker.io'
      - domainName: '*.redhat.com'
      - domainName: 'my.registry.example.com'
  2. イメージを外部認証レジストリーからインポートするには、必要なプロジェクト内にシークレットを作成します。
  3. 推奨されていない場合でも、外部の認証済みレジストリーが非セキュアであるか、または証明書が信頼できない場合には、oc import-image コマンドを --insecure=true オプションを指定して使用できます。

    外部の認証済みレジストリーがセキュアな場合、レジストリー証明書は、以下のようにレジストリーのインポートコントローラーを実行する際にマスターホストで信頼される必要があります。

    /etc/pki/ca-trust/source/anchors/ の証明書をコピーします。

    $ sudo cp <my.registry.example.com.crt> /etc/pki/ca-trust/source/anchors/<my.registry.example.com.crt>
  4. update-ca-trust コマンドを実行します。

    $ sudo update-ca-trust
  5. すべてのマスターホストでマスターサービスを再起動します。

    $ sudo master-restart api
    $ sudo master-restart controllers
  6. 外部レジストリーの証明書は OpenShift Container Platform レジストリーで信頼されます。

    $ for i in pem openssl java; do
      oc create configmap ca-trust-extracted-${i} --from-file /etc/pki/ca-trust/extracted/${i}
      oc set volume dc/docker-registry --add -m /etc/pki/ca-trust/extracted/${i} --configmap-name=ca-trust-extracted-${i} --name ca-trust-extracted-${i}
    done
    警告

    現時点で、証明書をレジストリー Pod に追加するための正式な手順はありませんが、上記の回避策を使用できます。

    この回避策では、これらのコマンドを実行するシステムですべての信頼される証明書を使って configmaps を作成するため、必要な証明書のみが信頼されるクリーンなシステムからこれを実行することが推奨されます。

  7. または、以下のように Dockerfile を使用して、イメージを再ビルドするために適切な証明書を信頼できるようレジストリーイメージを変更します。

    FROM registry.redhat.io/openshift3/ose-docker-registry:v3.6
    ADD <my.registry.example.com.crt> /etc/pki/ca-trust/source/anchors/
    USER 0
    RUN update-ca-trust extract
    USER 1001
  8. イメージを再ビルドし、これを docker レジストリーにプッシュし、そのイメージをレジストリー deploymentconfigspec.template.spec.containers["name":"registry"].image として使用します。

    $ oc patch dc docker-registry -p '{"spec":{"template":{"spec":{"containers":[{"name":"registry","image":"*myregistry.example.com/openshift3/ose-docker-registry:latest*"}]}}}}'
注記

imagePolicyConfig 設定をインストールに追加するには、openshift_master_image_policy_config 変数を、以下のようにすべての imagePolicyConfig 設定を含む json でフォーマットされた文字列で使用できます。

openshift_master_image_policy_config={"imagePolicyConfig":{"allowedRegistriesForImport":[{"domainName":"docker.io"},{"domainName":"\*.docker.io"},{"domainName":"*.redhat.com"},{"domainName":"*my.registry.example.com*"}]}}

ImagePolicy についての詳細は、ImagePolicy 受付プラグイン のセクションを参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

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

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

会社概要

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

© 2024 Red Hat, Inc.