2.2.5. コンテナーイメージレジストリーの設定


OpenShift Container Platform がコンテナーイメージの取得に使用するレジストリーを定義する設定は、デフォルトで /etc/containers/registries.conf ファイルに保持されます。このファイルでは、認証を必要としない (セキュアでない) レジストリーを設定するか、ミラーリングされたレジストリーをポイントするか、または非修飾コンテナーイメージ要求を検索するレジストリーを設定できます。

registries.conf を直接変更せずに、設定ファイルを /etc/containers/registries.conf.d ディレクトリーにドロップできます。これらのファイルは、システムの既存の registries.conf 設定に自動的に追加されます。

この手順は、quay.io を非修飾検索レジストリー (OpenShift Container Platform がレジストリー名が含まれないイメージ名のプルの試行時に検索できるレジストリー) として追加する registries.d ファイル (/etc/containers/registries/99-worker-unqualified-search-registries.conf) を作成する方法について説明します。これには、以下のように検査できる base64 でエンコードされた内容が含まれます。

$ echo dW5xdWFsaWZpZWQtc2VhcmNoLXJlZ2lzdHJpZXMgPSBbJ3JlZ2lzdHJ5LmFjY2Vzcy5yZWRoYXQuY29tJywgJ2RvY2tlci5pbycsICdxdWF5LmlvJ10K | base64 -d
unqualified-search-registries = ['registry.access.redhat.com', 'docker.io', 'quay.io']

registries.conf および registries.d ディレクトリーファイルの形式については、 containers-registries.conf man ページを参照してください。

前提条件

  • OpenShift Container Platform クラスター (バージョン 4.4 以降) が実行中である。
  • 管理者権限を持つユーザーとしてクラスターにログインしている。

手順

  1. YAML ファイル (myregistry.yaml) を作成し、そのファイルのエンコードされた base64 コンテンツを含む、 /etc/containers/registries.conf.d/99-worker-unqualified-search-registries.conf ファイルのコンテンツを保持します。以下は例になります。

    $ cat > /tmp/myregistry.yaml <<EOF
    apiVersion: machineconfiguration.openshift.io/v1
    kind: MachineConfig
    metadata:
      labels:
        machineconfiguration.openshift.io/role: worker
      name: 99-worker-unqualified-search-registries
    spec:
      config:
        ignition:
          version: 3.1.0
        storage:
          files:
          - contents:
              source: data:text/plain;charset=utf-8;base64,dW5xdWFsaWZpZWQtc2VhcmNoLXJlZ2lzdHJpZXMgPSBbJ3JlZ2lzdHJ5LmFjY2Vzcy5yZWRoYXQuY29tJywgJ2RvY2tlci5pbycsICdxdWF5LmlvJ10K
            filesystem: root
            mode: 0644
            path: /etc/containers/registries.conf.d/99-worker-unqualified-search-registries.conf
    EOF
  2. マシン設定をプールに適用します。

    $ oc apply -f /tmp/myregistry.yaml
  3. 新規マシン設定が適用され、ノードの状態が低下した状態にないことを確認します。これには数分の時間がかかる場合があります。各マシンで新規マシン設定が正常に適用されるため、ワーカープールには更新が進行中であることが表示されます。

    $ oc get machineconfigpool

    出力例

    NAME   CONFIG             UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE
    master rendered-master-35 True    False    False    3            3                 3                   0                    34m
    worker rendered-worker-d8 False   True     False    3            1                 1                   0                    34m

  4. 変更が適用されたことを確認するには、ワーカーノードにログインします。

    $ oc get node | grep worker

    出力例

    ip-10-0-0-1.us-east-2.compute.internal   Ready    worker   39m   v0.0.0-master+$Format:%h$

    $ oc debug node/ip-10-0-0-1.us-east-2.compute.internal

    出力例

    Starting pod/ip-10-0-141-142us-east-2computeinternal-debug ...
    ...

    sh-4.2# chroot /host
    sh-4.4# cat /etc/containers/registries.conf.d/99-worker-unqualified-search-registries.conf
    unqualified-search-registries = ['registry.access.redhat.com', 'docker.io', 'quay.io']
    sh-4.4# exit
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.