2.5. 미러 레지스트리에 대한 클러스터 구성
이미지를 생성하고 미러 레지스트리에 미러링한 후 Pod가 미러 레지스트리에서 이미지를 가져올 수 있도록 클러스터를 수정해야 합니다.
다음을 수행해야 합니다.
- 글로벌 풀 시크릿에 미러 레지스트리 인증 정보를 추가합니다.
- 미러 레지스트리 서버 인증서를 클러스터에 추가합니다.
미러 레지스트리를 소스 레지스트리와 연결하는
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=.mirrorsecretconfigjson
Copy 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-config
Copy 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-config
Copy 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=merge
Copy 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=merge
Copy 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.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
imagecontentsourcepolicy.operator.openshift.io/mirror-ocp created
imagecontentsourcepolicy.operator.openshift.io/mirror-ocp created
Copy 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 /host
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인증 정보가
config.json
파일을 확인합니다.cat /var/lib/kubelet/config.json
sh-4.4# cat /var/lib/kubelet/config.json
Copy 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# ls
Copy 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:443
1 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.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow registry.mirror
매개변수는 미러 레지스트리가 원래 레지스트리보다 먼저 검색됨을 나타냅니다.노드를 종료합니다.
exit
sh-4.4# exit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow