2.5. 미러 레지스트리를 위한 클러스터 구성
이미지를 생성하고 미러 레지스트리에 미러링한 후에는 포드가 미러 레지스트리에서 이미지를 가져올 수 있도록 클러스터를 수정해야 합니다.
다음을 수행해야 합니다.
- 글로벌 풀 시크릿에 미러 레지스트리 자격 증명을 추가합니다.
- 클러스터에 미러 레지스트리 서버 인증서를 추가합니다.
미러 레지스트리를 소스 레지스트리와 연결하는
ImageContentSourcePolicy사용자 정의 리소스(ICSP)를 만듭니다.클러스터 글로벌 풀 시크릿에 미러 레지스트리 자격 증명을 추가합니다.
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 config 맵을 사용하여
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를 root 디렉터리로 설정합니다.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