Red Hat Training
A Red Hat training course is available for Red Hat OpenStack Platform
4.5. 언더클라우드를 로컬 레지스트리로 사용
오버클라우드 컨테이너 이미지를 저장하도록 언더클라우드에서 로컬 레지스트리를 구성할 수 있습니다.
director를 사용하여 registry.redhat.io
에서 각 이미지를 가져온 후 언더클라우드에서 실행되는 docker-distribution
레지스트리로 각 이미지를 푸시할 수 있습니다. director를 사용하여 오버클라우드를 생성할 때 오버클라우드 생성 프로세스 중에 노드는 언더클라우드 docker-distribution
레지스트리에서 관련 이미지를 가져옵니다.
이렇게 하면 외부 네트워크 연결을 혼잡하지 않고 배포 프로세스를 가속화할 수 있는 내부 네트워크 내에서 컨테이너 이미지의 네트워크 트래픽을 유지합니다.
절차
로컬 Undercloud 레지스트리의 주소를 찾습니다. 주소는 다음 패턴을 사용합니다.
<REGISTRY_IP_ADDRESS>:8787
이전에 undercloud.
conf 파일의
의 IP 주소를 사용합니다. 아래 명령의 경우 주소는local_ip
매개변수로 설정한 언더클라우드192.168.24.1:8787
로 간주됩니다.registry.redhat.io
에 로그인합니다.(undercloud) $ docker login registry.redhat.io --username $RH_USER --password $RH_PASSWD
이미지를 로컬 레지스트리에 업로드하는 템플릿을 생성하고 해당 이미지를 참조하는 환경 파일을 생성합니다.
(undercloud) $ openstack overcloud container image prepare \ --namespace=registry.redhat.io/rhosp13 \ --push-destination=192.168.24.1:8787 \ --prefix=openstack- \ --tag-from-label {version}-{release} \ --output-env-file=/home/stack/templates/overcloud_images.yaml \ --output-images-file /home/stack/local_registry_images.yaml
-
선택적 서비스에 대한 환경 파일을 포함하려면
-e
옵션을 사용합니다. -
r
옵션을
사용하여 사용자 지정 역할 파일을 포함합니다. -
Ceph Storage를 사용하는 경우 Ceph Storage 컨테이너 이미지 위치를 정의하는 추가 매개변수를 포함합니다.
--set ceph_namespace
,--set ceph_image
,--set ceph_tag
.
-
선택적 서비스에 대한 환경 파일을 포함하려면
다음 두 파일이 생성되었는지 확인합니다.
-
원격 소스의 컨테이너 이미지 정보가 포함된
local_registry_images.yaml
이 파일을 사용하여 Red Hat Container Registry(registry.redhat.io
)에서 언더클라우드로 이미지를 가져옵니다. -
overcloud_images.yaml
- 언더클라우드의 최종 이미지 위치가 포함됩니다. 배포와 함께 이 파일을 포함합니다.
-
원격 소스의 컨테이너 이미지 정보가 포함된
원격 레지스트리에서 컨테이너 이미지를 가져와서 언더클라우드 레지스트리로 푸시합니다.
(undercloud) $ openstack overcloud container image upload \ --config-file /home/stack/local_registry_images.yaml \ --verbose
네트워크 및 언더클라우드 디스크의 속도에 따라 필요한 이미지를 가져오는 데 다소 시간이 걸릴 수 있습니다.
참고컨테이너 이미지는 약 10GB의 디스크 공간을 사용합니다.
이미지가 이제 Undercloud의
docker-distribution
레지스트리에 저장됩니다. 언더클라우드의docker-distribution
레지스트리에서 이미지 목록을 보려면 다음 명령을 실행합니다.(undercloud) $ curl http://192.168.24.1:8787/v2/_catalog | jq .repositories[]
참고_catalog
리소스는 자체적으로 100개의 이미지만 표시합니다. 더 많은 이미지를 표시하려면_catalog
리소스와 함께?n=<interger
> 쿼리 문자열을 사용하여 더 많은 수의 이미지를 표시합니다.(undercloud) $ curl http://192.168.24.1:8787/v2/_catalog?n=150 | jq .repositories[]
특정 이미지의 태그 목록을 보려면
skopeo
명령을 사용합니다.(undercloud) $ curl -s http://192.168.24.1:8787/v2/rhosp13/openstack-keystone/tags/list | jq .tags
태그가 지정된 이미지를 확인하려면
skopeo
명령을 사용합니다.(undercloud) $ skopeo inspect --tls-verify=false docker://192.168.24.1:8787/rhosp13/openstack-keystone:13.0-44
레지스트리 구성이 준비되었습니다.