4.2. 클러스터에서 직접 레지스트리에 액세스
클러스터 내부에서 레지스트리에 액세스할 수 있습니다.
절차
내부 경로를 사용하여 클러스터에서 레지스트리에 액세스합니다.
노드 이름을 가져와서 노드에 액세스합니다.
$ oc get nodes
$ oc debug nodes/<node_name>
노드의
oc
및podman
과 같은 툴에 대한 액세스를 활성화하려면 루트 디렉터리를/host
로 변경하십시오.sh-4.2# chroot /host
액세스 토큰을 사용하여 컨테이너 이미지 레지스트리에 로그인합니다.
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>
과 유사합니다.레지스트리에 대해
podman pull
및podman push
작업을 수행합니다.중요모든 이미지를 가져올 수 있지만 system:registry 역할이 추가된 경우 프로젝트의 레지스트리에만 이미지를 푸시할 수 있습니다.
다음 예에서는 다음을 사용합니다.
구성 요소 값 <registry_ip>
172.30.124.220
<port>
5000
<project>
openshift
<image>
image
<tag>
생략됨 (기본값
latest
)모든 이미지를 가져옵니다.
sh-4.2# podman pull <name.io>/<image>
<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
가 실패합니다. 테스트를 위해 이미지를 푸시할 새 프로젝트를 만들 수 있습니다.새로 태그가 지정된 이미지를 레지스트리로 푸시합니다.
sh-4.2# podman push image-registry.openshift-image-registry.svc:5000/openshift/<image>
참고이미지를 내부 레지스트리로 내보내는 경우 리포지터리 이름은 <
project>/<name> 형식을 사용해야
합니다. 리포지토리 이름에 여러 프로젝트 수준을 사용하면 인증 오류가 발생합니다.