4.2. 클러스터에서 직접 레지스트리에 액세스

클러스터 내부에서 레지스트리에 액세스할 수 있습니다.

절차

내부 경로를 사용하여 클러스터에서 레지스트리에 액세스합니다.

  1. 노드의 이름을 가져와서 노드에 액세스합니다.

    $ oc get nodes
    $ oc debug nodes/<node_name>
  2. 노드의 ocpodman 과 같은 툴에 대한 액세스를 활성화하려면 루트 디렉터리를 /host 로 변경하십시오.

    sh-4.2# chroot /host
  3. 액세스 토큰을 사용하여 컨테이너 이미지 레지스트리에 로그인합니다.

    sh-4.2# oc login -u kubeadmin -p <password_from_install_log> https://api-int.<cluster_name>.<base_domain>:6443
    sh-4.2# podman login -u kubeadmin -p $(oc whoami -t) image-registry.openshift-image-registry.svc:5000

    다음과 같은 로그인 확인 메시지가 표시되어야합니다.

    Login Succeeded!
    참고

    사용자 이름에 모든 값을 지정할 수 있으므로 토큰에는 필요한 모든 정보가 포함됩니다. 콜론이 포함된 사용자 이름을 지정하면 로그인에 실패합니다.

    이미지 레지스트리 Operator가 경로를 생성하므로 default-route-openshift-image-registry.<cluster_name>과 유사합니다.

  4. 레지스트리에 대해 podman pullpodman push 작업을 수행합니다.

    중요

    모든 이미지를 가져올 수 있지만 system:registry 역할이 추가된 경우 프로젝트의 레지스트리에만 이미지를 푸시할 수 있습니다.

    다음 예에서는 다음을 사용합니다.

    구성 요소

    <registry_ip>

    172.30.124.220

    <port>

    5000

    <project>

    openshift

    <image>

    image

    <tag>

    생략됨 (기본값 latest)

    1. 모든 이미지를 가져옵니다.

      sh-4.2# podman pull <name.io>/<image>
    2. <registry_ip>:<port>/<project>/<image> 형식으로 새 이미지에 태그를 지정합니다. OpenShift Container Platform이 레지스트리에 이미지를 올바르게 배치하고 나중에 액세스할 수 있도록 이 풀 사양에 프로젝트 이름이 표시되어야합니다.

      sh-4.2# podman tag <name.io>/<image> image-registry.openshift-image-registry.svc:5000/openshift/<image>
      참고

      사용자가 이미지를 작성하거나 푸시할 수 있도록 지정된 프로젝트에 대한 system:image-builder 역할이 있어야합니다. 그렇지 않으면 다음 단계의 podman push가 실패합니다. 테스트를 위해 이미지를 푸시할 새 프로젝트를 만들 수 있습니다.

    3. 새로 태그가 지정된 이미지를 레지스트리로 푸시합니다.

      sh-4.2# podman push image-registry.openshift-image-registry.svc:5000/openshift/<image>