27장. 고급 컨테이너 이미지 관리 수행
기본 컨테이너 이미지 구성은 대부분의 환경에 적합합니다. 경우에 따라 컨테이너 이미지 구성에 버전 고정과 같은 사용자 지정이 필요할 수 있습니다.
27.1. 언더클라우드에서 컨테이너 이미지 고정
특정 상황에서 언더클라우드에 특정 컨테이너 이미지 버전 집합이 필요할 수 있습니다. 이 경우 이미지를 특정 버전에 고정해야 합니다. 이미지를 고정하려면 컨테이너 구성 파일을 생성 및 수정한 다음 언더클라우드 역할 데이터를 컨테이너 구성 파일과 결합하여 서비스 매핑이 포함된 환경 파일을 컨테이너 이미지로 생성해야 합니다. 그런 다음 undercloud.conf
파일의 custom_env_files
매개변수에 이 환경 파일을 포함합니다.
절차
-
언더클라우드 호스트에
stack
사용자로 로그인합니다. --output-env-file
옵션과 함께openstack tripleo container image prepare default
명령을 실행하여 기본 이미지 구성이 포함된 파일을 생성합니다.$ sudo openstack tripleo container image prepare default \ --output-env-file undercloud-container-image-prepare.yaml
환경 요구 사항에 따라
undercloud-container-image-prepare.yaml
파일을 수정합니다.-
director에서
tag_from_label:
매개변수를 사용할 수 있도록tag:
매개변수를 제거합니다. director는 이 매개변수를 사용하여 각 컨테이너 이미지의 최신 버전을 식별하고, 각 이미지를 가져오고, director의 컨테이너 레지스트리에 있는 각 이미지에 태그를 지정합니다. - 언더클라우드의 Ceph 레이블을 제거합니다.
-
neutron_driver:
매개변수가 비어 있는지 확인합니다.OVN
은 언더클라우드에서 지원되지 않으므로 이 매개변수를 OVN으로 설정하지 마십시오. 컨테이너 이미지 레지스트리 인증 정보를 포함합니다.
ContainerImageRegistryCredentials: registry.redhat.io myser: 'p@55w0rd!'
참고image-serve
레지스트리가 아직 설치되지 않았으므로 컨테이너 이미지를 새 언더클라우드의 언더클라우드 레지스트리로 내보낼 수 없습니다.push_destination
값을false
로 설정하거나 사용자 지정 값을 사용하여 소스에서 직접 이미지를 가져와야 합니다. 자세한 내용은 컨테이너 이미지 준비 매개변수를 참조하십시오.
-
director에서
사용자 지정
undercloud-container-image-prepare.yaml
파일과 결합된 언더클라우드 역할 파일을 사용하는 새 컨테이너 이미지 구성 파일을 생성합니다.$ sudo openstack tripleo container image prepare \ -r /usr/share/openstack-tripleo-heat-templates/roles_data_undercloud.yaml \ -e undercloud-container-image-prepare.yaml \ --output-env-file undercloud-container-images.yaml
undercloud-container-images.yaml
파일은 서비스 매개변수와 컨테이너 이미지 매핑이 포함된 환경 파일입니다. 예를 들어 OpenStack Identity(keystone)는ContainerKeystoneImage
매개변수를 사용하여 컨테이너 이미지를 정의합니다.ContainerKeystoneImage: undercloud.ctlplane.localdomain:8787/rhosp-rhel8/openstack-keystone:16.2.4-5
컨테이너 이미지 태그는
{version}-{release}
포맷과 일치합니다.-
undercloud.conf
파일의custom_env_files
매개변수에undercloud-container-images.yaml
파일을 포함합니다. 언더클라우드 설치를 실행하면 언더클라우드 서비스에서 이 파일에서 고정된 컨테이너 이미지 매핑을 사용합니다.