Menu Close

10.3. ミラーリング用のクラスターの準備

クラスターの接続を切断する前に、イメージを非接続クラスターのすべてのノードがアクセスできるミラーレジストリーにミラーリングするか、またはコピーする必要があります。イメージをミラーリングするには、以下を行ってクラスターを準備する必要があります。

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

手順

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

    1. ミラーレジストリーの CA 証明書を、単純な PEM ファイル形式または DER ファイル形式で、信頼できる 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="}}}