2.6. Satellite 서버를 레지스트리로 사용
Red Hat Satellite 6는 레지스트리 동기화 기능을 제공합니다. 이를 통해 여러 이미지를 Satellite 서버로 가져와 애플리케이션 라이프사이클의 일부로 관리할 수 있습니다. Satellite는 다른 컨테이너 활성화 시스템이 사용할 레지스트리 역할도 합니다. 컨테이너 이미지 관리 방법에 대한 자세한 내용은 Red Hat Satellite 6 Content Management Guide의 "Managing Container Images"를 참조하십시오.
다음 절차의 예제에서는 Red Hat Satellite 6용 hammer 명령행 툴과 ACME라는 조직을 사용합니다. 이 조직을 실제로 사용하는 Satellite 6 조직으로 대체하십시오.
절차
이미지를 로컬 레지스트리로 가져올 템플릿을 생성합니다.
source ~/stackrc
$ source ~/stackrc (undercloud) $ openstack overcloud container image prepare \ --namespace=rhosp13 \ --prefix=openstack- \ --output-images-file /home/stack/satellite_imagesCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
-e옵션을 사용하여 선택적 서비스에 대한 환경 파일을 포함합니다. -
사용자 지정 역할 파일을 포함하려면
-r옵션을 사용합니다. -
Ceph Storage를 사용하는 경우 Ceph Storage 컨테이너 이미지 위치
--set ceph_namespace,--set ceph_image,--set ceph_tag를 정의하는 추가 매개변수를 포함합니다.
참고이 버전의
openstack overcloud container image prepare명령은 이미지 목록을 생성하기 위해registry.redhat.io의 레지스트리를 대상으로 합니다. 이후 단계에서 사용된openstack overcloud container image prepare명령과 다른 값을 사용합니다.-
-
이렇게 하면 컨테이너 이미지 정보가 있는
satellite_images파일이 생성됩니다. 이 파일을 사용하여 컨테이너 이미지를 Satellite 6 서버와 동기화합니다. satellite_images파일에서 YAML 관련 정보를 제거하고 이미지 목록만 포함하는 플랫 파일로 변환합니다. 다음sed명령은 이 작업을 수행합니다.(undercloud) $ awk -F ':' '{if (NR!=1) {gsub("[[:space:]]", ""); print $2}}' ~/satellite_images > ~/satellite_images_names(undercloud) $ awk -F ':' '{if (NR!=1) {gsub("[[:space:]]", ""); print $2}}' ~/satellite_images > ~/satellite_images_namesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이를 통해 Satellite 서버로 가져온 이미지 목록이 제공됩니다.
-
satellite_images_names파일을 Satellite 6hammer툴이 포함된 시스템으로 복사합니다. 또는 Hammer CLI 가이드의 지침을 사용하여hammer툴을 언더클라우드에 설치합니다. 다음
hammer명령을 실행하여 Satellite 조직에 새 제품(OSP13 Containers)을 생성합니다.hammer product create \ --organization "ACME" \ --name "OSP13 Containers"
$ hammer product create \ --organization "ACME" \ --name "OSP13 Containers"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 사용자 지정 제품에 이미지를 저장합니다.
제품에 기본 컨테이너 이미지를 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow satellite_images파일에서 오버클라우드 컨테이너 이미지를 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 컨테이너 이미지를 동기화합니다.
hammer product synchronize \ --organization "ACME" \ --name "OSP13 Containers"
$ hammer product synchronize \ --organization "ACME" \ --name "OSP13 Containers"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Satellite 서버가 동기화를 완료할 때까지 기다립니다.
참고설정에 따라
hammer에서 Satellite 서버 사용자 이름과 암호가 필요할 수 있습니다.hammer를 구성한 후 구성 파일을 사용하여 자동으로 로그인할 수 있습니다. Hammer CLI 가이드의 "Authentication" 섹션을 참조하십시오.- Satellite 6 서버에서 콘텐츠 뷰를 사용하는 경우 새 콘텐츠 뷰 버전을 생성하여 이미지를 통합합니다.
기본이미지에 사용 가능한 태그를 확인합니다.hammer docker tag list --repository "base" \ --organization "ACME" \ --product "OSP13 Containers"
$ hammer docker tag list --repository "base" \ --organization "ACME" \ --product "OSP13 Containers"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 그러면 OpenStack Platform 컨테이너 이미지의 태그가 표시됩니다.
언더클라우드로 돌아가서 Satellite 서버에서 이미지에 대한 환경 파일을 생성합니다. 다음은 환경 파일을 생성하는 예제 명령입니다.
(undercloud) $ openstack overcloud container image prepare \ --namespace=satellite6.example.com:5000 \ --prefix=acme-osp13_containers- \ --tag-from-label {version}-{release} \ --output-env-file=/home/stack/templates/overcloud_images.yaml(undercloud) $ openstack overcloud container image prepare \ --namespace=satellite6.example.com:5000 \ --prefix=acme-osp13_containers- \ --tag-from-label {version}-{release} \ --output-env-file=/home/stack/templates/overcloud_images.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 버전의
openstack overcloud container image prepare명령에서는 Satellite 서버를 대상으로 합니다. 이전 단계에서 사용된openstack overcloud 컨테이너 이미지 prepare명령과 다른 값을 사용합니다.이 명령을 실행할 때 다음 데이터를 포함합니다.
--namespace- Satellite 서버의 레지스트리 URL 및 포트입니다. Red Hat Satellite의 레지스트리 포트는 5000입니다. 예를 들어--namespace=satellite6.example.com:5000입니다.참고Red Hat Satellite 버전 6.10을 사용하는 경우 포트를 지정할 필요가 없습니다. 기본 포트
443이 사용됩니다. 자세한 내용은 " RHOSP13 배포를 Red Hat Satellite 6.10에 어떻게 적용할 수 있습니까?"에서 참조하십시오.--prefix=- 접두사는 소문자 문자를 사용하고 밑줄로 대체되는 라벨의 Satellite 6 규칙을 기반으로 합니다. 접두사는 콘텐츠 뷰 사용 여부에 따라 달라집니다.-
콘텐츠 뷰를 사용하는 경우 구조는
[org]-[environment]-[content view]-[product]-입니다. 예:acme-production-myosp13-osp13_containers-. -
콘텐츠 뷰를 사용하지 않는 경우 구조는
[org]-[product]-입니다. 예:acme-osp13_containers-.
-
콘텐츠 뷰를 사용하는 경우 구조는
-
--tag-from-label {version}-{release}- 각 이미지의 최신 태그를 식별합니다. -
-e- 선택적 서비스에 대한 환경 파일을 포함합니다. -
-r- 사용자 지정 역할 파일을 포함합니다. --set ceph_namespace,--set ceph_image,--set ceph_tag- Ceph Storage를 사용하는 경우 Ceph Storage 컨테이너 이미지 위치를 정의하는 추가 매개변수를 포함합니다. 이제ceph_image에는 Satellite별 접두사가 포함됩니다. 이 접두사는--prefix옵션과 동일한 값입니다. 예를 들면 다음과 같습니다.--set ceph_image=acme-osp13_containers-rhceph-3-rhel7
--set ceph_image=acme-osp13_containers-rhceph-3-rhel7Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이렇게 하면 오버클라우드에서 Satellite 이름 지정 규칙을 사용하여 Ceph 컨테이너 이미지를 사용할 수 있습니다.
-
overcloud_images.yaml파일에는 Satellite 서버의 이미지 위치가 포함되어 있습니다. 배포에 이 파일을 포함합니다.
레지스트리 구성이 준비되었습니다.