5.2. 수동으로 보안 레지스트리 공개
클러스터 내에서 OpenShift 이미지 레지스트리에 로그인하는 대신 경로로 레지스트리를 노출하여 OpenShift 이미지 레지스트리에 대한 외부 액세스 권한을 얻을 수 있습니다. 이 외부 액세스를 사용하면 경로 주소를 사용하여 클러스터 외부에서 레지스트리에 로그인할 수 있습니다. 그런 다음 경로 호스트를 사용하여 기존 프로젝트에 이미지를 태그하고 내보낼 수 있습니다.
configs.imageregistry.operator.openshift.io 리소스에서 DefaultRoute 매개 변수를 사용하거나 사용자 지정 라우팅을 사용하여 라우팅을 공개할 수 있습니다.
전제 조건
다음 사전 요구 사항이 자동으로 수행됩니다.
- 레지스트리 Operator를 배포합니다.
- Ingress Operator를 배포합니다.
-
cluster-admin역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
프로세스
DefaultRoute매개변수를 사용하여 레지스트리를 공개하려면DefaultRoute를True로 설정합니다.oc patch configs.imageregistry.operator.openshift.io/cluster --patch '{"spec":{"defaultRoute":true}}' --type=merge$ oc patch configs.imageregistry.operator.openshift.io/cluster --patch '{"spec":{"defaultRoute":true}}' --type=mergeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여
podman으로 로그인합니다.HOST=$(oc get route default-route -n openshift-image-registry --template='{{ .spec.host }}')$ HOST=$(oc get route default-route -n openshift-image-registry --template='{{ .spec.host }}')Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman login -u kubeadmin -p $(oc whoami -t) --tls-verify=false $HOST
$ podman login -u kubeadmin -p $(oc whoami -t) --tls-verify=false $HOSTCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
--tls-verify=false: 경로에 대한 클러스터의 기본 인증서를 신뢰할 수 없는 경우 이 매개변수를false로 설정합니다. Ingress Operator를 사용하여 신뢰할 수있는 사용자 지정 인증서를 기본 인증서로 설정할 수 있습니다.
-
사용자 정의 경로를 사용하여 레지스트리를 공개하려면 경로의 TLS 키로 시크릿을 생성합니다. 이 단계는 선택 사항입니다. 보안 시크릿을 생성하지 않으면 라우팅은 Ingress Operator의 기본 TLS 구성을 사용합니다.
oc create secret tls public-route-tls \ -n openshift-image-registry \ --cert=</path/to/tls.crt> \ --key=</path/to/tls.key>$ oc create secret tls public-route-tls \ -n openshift-image-registry \ --cert=</path/to/tls.crt> \ --key=</path/to/tls.key>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 레지스트리 Operator에서 다음 명령을 입력합니다.
oc edit configs.imageregistry.operator.openshift.io/cluster
$ oc edit configs.imageregistry.operator.openshift.io/clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고레지스트리 경로에 대한 사용자 정의 TLS 구성을 제공하는 경우에만
secretName을 설정합니다.
문제 해결