2.3. ミラーリングのためのクラスターの準備
クラスターの接続を切断する前に、非接続クラスター内のすべてのノードから到達可能なミラーレジストリーにイメージをミラーリングまたはコピーする必要があります。イメージをミラーリングするには、以下を実行してクラスターを準備する必要があります。
- ミラーレジストリー証明書をホストの信頼される CA のリストに追加する。
-
cloud.openshift.com
トークンからのイメージプルシークレットが含まれる.dockerconfigjson
ファイルを作成する。
手順
イメージのミラーリングを可能にする認証情報を設定します。
単純な PEM または DER ファイル形式で、ミラーレジストリーの CA 証明書を信頼される CA のリストに追加します。以下に例を示します。
$ cp </path/to/cert.crt> /usr/share/pki/ca-trust-source/anchors/
- ここでは、以下のようになります。,
</path/to/cert.crt>
- ローカルファイルシステムの証明書へのパスを指定します。
- ここでは、以下のようになります。,
CA 信頼を更新します。たとえば、Linux の場合は以下のようになります。
$ update-ca-trust
グローバルプルシークレットから
.dockerconfigjson
ファイルを展開します。$ oc extract secret/pull-secret -n openshift-config --confirm --to=.
出力例
.dockerconfigjson
.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="}}}