5장. 레지스트리 공개

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

5.1. 기본 레지스트리를 수동으로 공개

클러스터 내에서 기본 OpenShift 이미지 레지스트리에 로그인하는 대신 라우팅을 사용하여 외부 액세스 권한을 확보할 수 있습니다. 이 외부 액세스를 사용하면 라우팅 주소를 사용하여 클러스터 외부에서 레지스트리에 로그인하고 라우팅 호스트를 사용하여 기존 프로젝트에 이미지를 태그 지정하고 푸시할 수 있습니다.

사전 요구 사항

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

    • 레지스트리 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