5장. 레지스트리 공개

기본적으로 OpenShift Container Platform 레지스트리의 보안은 TLS를 통해 트래픽을 제공하도록 클러스터 설치 중에 보호됩니다. 이전 OpenShift Container Platform 버전과 달리 레지스트리는 설치시 클러스터 외부에 공개되지 않습니다.

5.1. 수동으로 기본 레지스트리 노출

클러스터 내에서 기본 OpenShift Container Platform 레지스트리에 로그인하는 대신 경로를 사용하여 외부 액세스를 노출할 수 있습니다. 이 외부 액세스를 사용하면 경로 주소를 사용하여 클러스터 외부에서 레지스트리에 로그인하고 경로 호스트를 사용하여 기존 프로젝트에 이미지를 태그하고 푸시할 수 있습니다.

사전 요구 사항:

  • 다음 사전 요구 사항이 자동으로 수행됩니다.

    • 레지스트리 Operator를 배포합니다.
    • Ingress Operator를 배포합니다.

절차

configs.imageregistry.operator.openshift.io 리소스에서 defaultRoute 매개 변수를 사용하여 경로를 노출할 수 있습니다.

defaultRoute 를 사용하여 레지스트리를 공개하려면 :

  1. defaultRoutetrue 로 설정합니다 :

    $ oc patch configs.imageregistry.operator.openshift.io/cluster --patch '{"spec":{"defaultRoute":true}}' --type=merge
  2. 기본 레지스트리 경로를 가져옵니다.

    $ HOST=$(oc get route default-route -n openshift-image-registry --template='{{ .spec.host }}')
  3. Ingress Operator의 인증서를 가져옵니다.

    $ oc get secret -n openshift-ingress  router-certs-default -o go-template='{{index .data "tls.crt"}}' | base64 -d | sudo tee /etc/pki/ca-trust/source/anchors/${HOST}.crt  > /dev/null
  4. 다음 명령을 사용하여 경로를 신뢰하도록 클러스터의 기본 인증서를 활성화합니다.

    $ sudo update-ca-trust enable
  5. 기본 경로를 사용하여 podman으로 로그인합니다.

    $ sudo podman login -u kubeadmin -p $(oc whoami -t) $HOST