2.5. ミラーレジストリー用のクラスターの設定
イメージを作成し、ミラーレジストリーにミラーリングした後に、Pod がミラーレジストリーからイメージをプルできるようにクラスターを変更する必要があります。
以下を行う必要があります。
- ミラーレジストリー認証情報をグローバルプルシークレットに追加します。
- ミラーレジストリーサーバー証明書をクラスターに追加します。
ミラーレジストリーをソースレジストリーに関連付ける
ImageContentSourcePolicyカスタムリソース (ICSP) を作成します。ミラーレジストリー認証情報をクラスターのグローバル pull-secret に追加します。
oc set data secret/pull-secret -n openshift-config --from-file=.dockerconfigjson=<pull_secret_location>
$ oc set data secret/pull-secret -n openshift-config --from-file=.dockerconfigjson=<pull_secret_location>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 新規プルシークレットファイルへのパスを指定します。
以下に例を示します。
oc set data secret/pull-secret -n openshift-config --from-file=.dockerconfigjson=.mirrorsecretconfigjson
$ oc set data secret/pull-secret -n openshift-config --from-file=.dockerconfigjson=.mirrorsecretconfigjsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow CA 署名のミラーレジストリーサーバー証明書をクラスター内のノードに追加します。
ミラーレジストリーのサーバー証明書が含まれる設定マップを作成します。
oc create configmap <config_map_name> --from-file=<mirror_address_host>..<port>=$path/ca.crt -n openshift-config
$ oc create configmap <config_map_name> --from-file=<mirror_address_host>..<port>=$path/ca.crt -n openshift-configCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
S oc create configmap registry-config --from-file=mirror.registry.com..443=/root/certs/ca-chain.cert.pem -n openshift-config
S oc create configmap registry-config --from-file=mirror.registry.com..443=/root/certs/ca-chain.cert.pem -n openshift-configCopy to Clipboard Copied! Toggle word wrap Toggle overflow 設定マップを使用して
image.config.openshift.io/clusterカスタムリソース (CR) を更新します。OpenShift Container Platform は、この CR への変更をクラスター内のすべてのノードに適用します。oc patch image.config.openshift.io/cluster --patch '{"spec":{"additionalTrustedCA":{"name":"<config_map_name>"}}}' --type=merge$ oc patch image.config.openshift.io/cluster --patch '{"spec":{"additionalTrustedCA":{"name":"<config_map_name>"}}}' --type=mergeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc patch image.config.openshift.io/cluster --patch '{"spec":{"additionalTrustedCA":{"name":"registry-config"}}}' --type=merge$ oc patch image.config.openshift.io/cluster --patch '{"spec":{"additionalTrustedCA":{"name":"registry-config"}}}' --type=mergeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ICSP を作成し、オンラインレジストリーからミラーレジストリーにコンテナープルリクエストをリダイレクトします。
ImageContentSourcePolicyカスタムリソースを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ICSP オブジェクトを作成します。
oc create -f registryrepomirror.yaml
$ oc create -f registryrepomirror.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
imagecontentsourcepolicy.operator.openshift.io/mirror-ocp created
imagecontentsourcepolicy.operator.openshift.io/mirror-ocp createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Container Platform は、この CR への変更をクラスター内のすべてのノードに適用します。
ミラーレジストリーの認証情報、CA、および ICSP が追加されていることを確認します。
ノードにログインします。
oc debug node/<node_name>
$ oc debug node/<node_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow /hostをデバッグシェル内のルートディレクトリーとして設定します。chroot /host
sh-4.4# chroot /hostCopy to Clipboard Copied! Toggle word wrap Toggle overflow config.jsonファイルで認証情報の有無を確認します。cat /var/lib/kubelet/config.json
sh-4.4# cat /var/lib/kubelet/config.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{"auths":{"brew.registry.redhat.io":{"xx=="},"brewregistry.stage.redhat.io":{"auth":"xxx=="},"mirror.registry.com:443":{"auth":"xx="}}}{"auths":{"brew.registry.redhat.io":{"xx=="},"brewregistry.stage.redhat.io":{"auth":"xxx=="},"mirror.registry.com:443":{"auth":"xx="}}}1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ミラーレジストリーおよび認証情報が存在することを確認します。
certs.dディレクトリーに移動します。cd /etc/docker/certs.d/
sh-4.4# cd /etc/docker/certs.d/Copy to Clipboard Copied! Toggle word wrap Toggle overflow certs.dディレクトリーの証明書を一覧表示します。ls
sh-4.4# lsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
image-registry.openshift-image-registry.svc.cluster.local:5000 image-registry.openshift-image-registry.svc:5000 mirror.registry.com:443
image-registry.openshift-image-registry.svc.cluster.local:5000 image-registry.openshift-image-registry.svc:5000 mirror.registry.com:4431 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ミラーレジストリーがリストにあることを確認します。
ICSP がミラーレジストリーを
registries.confファイルに追加していることを確認します。cat /etc/containers/registries.conf
sh-4.4# cat /etc/containers/registries.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow registry.mirrorパラメーターは、ミラーレジストリーが元のレジストリーの前に検索されることを示します。ノードを終了します。
exit
sh-4.4# exitCopy to Clipboard Copied! Toggle word wrap Toggle overflow