11.3. ミラーリングのためのクラスターの準備

クラスターの接続を切断する前に、非接続クラスター内のすべてのノードから到達可能なミラーレジストリーにイメージをミラーリングまたはコピーする必要があります。イメージをミラーリングするには、以下を実行してクラスターを準備する必要があります。

  • ミラーレジストリー証明書をホストの信頼される CA の一覧に追加する。
  • cloud.openshift.com トークンからのイメージプルシークレットが含まれる .dockerconfigjson ファイルを作成する。

手順

  1. イメージのミラーリングを可能にする認証情報を設定します。

    1. 単純な PEM または DER ファイル形式で、ミラーレジストリーの CA 証明書を信頼される CA の一覧に追加します。以下に例を示します。

      $ cp </path/to/cert.crt> /usr/share/pki/ca-trust-source/anchors/
      ここでは、以下のようになります。, </path/to/cert.crt>
      ローカルファイルシステムの証明書へのパスを指定します。
    2. CA 信頼を更新します。たとえば、Linux の場合は以下のようになります。

      $ update-ca-trust
    3. グローバルプルシークレットから .dockerconfigjson ファイルを展開します。

      $ oc extract secret/pull-secret -n openshift-config --confirm --to=.

      出力例

      .dockerconfigjson

    4. .dockerconfigjson ファイルを編集し、ミラーレジストリーおよび認証情報を追加し、これを新規ファイルとして保存します。

      {"auths":{"<local_registry>": {"auth": "<credentials>","email": "you@example.com"}}},"<registry>:<port>/<namespace>/":{"auth":"<token>"}}}

      ここでは、以下のようになります。

      <local_registry>
      ミラーレジストリーがコンテンツを提供するために使用するレジストリーのドメイン名およびポート (オプション) を指定します。
      auth
      ミラーレジストリーの base64 でエンコードされたユーザー名およびパスワードを指定します。
      <registry>:<port>/<namespace>
      ミラーレジストリーの詳細を指定します。
      <token>

      ミラーレジストリーの base64 でエンコードされたusername:passwordを指定します。

      以下に例を示します。

      $ {"auths":{"cloud.openshift.com":{"auth":"b3BlbnNoaWZ0Y3UjhGOVZPT0lOMEFaUjdPUzRGTA==","email":"user@example.com"},
      "quay.io":{"auth":"b3BlbnNoaWZ0LXJlbGVhc2UtZGOVZPT0lOMEFaUGSTd4VGVGVUjdPUzRGTA==","email":"user@example.com"},
      "registry.connect.redhat.com"{"auth":"NTE3MTMwNDB8dWhjLTFEZlN3VHkxOSTd4VGVGVU1MdTpleUpoYkdjaUailA==","email":"user@example.com"},
      "registry.redhat.io":{"auth":"NTE3MTMwNDB8dWhjLTFEZlN3VH3BGSTd4VGVGVU1MdTpleUpoYkdjaU9fZw==","email":"user@example.com"},
      "registry.svc.ci.openshift.org":{"auth":"dXNlcjpyWjAwWVFjSEJiT2RKVW1pSmg4dW92dGp1SXRxQ3RGN1pwajJhN1ZXeTRV"},"my-registry:5000/my-namespace/":{"auth":"dXNlcm5hbWU6cGFzc3dvcmQ="}}}