27장. 고급 컨테이너 이미지 관리 수행

기본 컨테이너 이미지 구성은 대부분의 환경에 적합합니다. 경우에 따라 컨테이너 이미지 구성에 버전 고정과 같은 사용자 지정이 필요할 수 있습니다.

27.1. 언더클라우드에서 컨테이너 이미지 고정

특정 상황에서 언더클라우드에 특정 컨테이너 이미지 버전 집합이 필요할 수 있습니다. 이 경우 이미지를 특정 버전에 고정해야 합니다. 이미지를 고정하려면 컨테이너 구성 파일을 생성 및 수정한 다음 언더클라우드 역할 데이터를 컨테이너 구성 파일과 결합하여 서비스 매핑이 포함된 환경 파일을 컨테이너 이미지로 생성해야 합니다. 그런 다음 undercloud.conf 파일의 custom_env_files 매개변수에 이 환경 파일을 포함합니다.

절차

  1. 언더클라우드 호스트에 stack 사용자로 로그인합니다.
  2. --output-env-file 옵션과 함께 openstack tripleo container image prepare default 명령을 실행하여 기본 이미지 구성이 포함된 파일을 생성합니다.

    $ sudo openstack tripleo container image prepare default \
    --output-env-file undercloud-container-image-prepare.yaml
  3. 환경 요구 사항에 따라 undercloud-container-image-prepare.yaml 파일을 수정합니다.

    1. director에서 tag_from_label: 매개변수를 사용할 수 있도록 tag: 매개변수를 제거합니다. director는 이 매개변수를 사용하여 각 컨테이너 이미지의 최신 버전을 식별하고, 각 이미지를 가져오고, director의 컨테이너 레지스트리에 있는 각 이미지에 태그를 지정합니다.
    2. 언더클라우드의 Ceph 레이블을 제거합니다.
    3. neutron_driver: 매개변수가 비어 있는지 확인합니다. OVN은 언더클라우드에서 지원되지 않으므로 이 매개변수를 OVN으로 설정하지 마십시오.
    4. 컨테이너 이미지 레지스트리 인증 정보를 포함합니다.

      ContainerImageRegistryCredentials:
        registry.redhat.io
          myser: 'p@55w0rd!'
      참고

      image-serve 레지스트리가 아직 설치되지 않았으므로 컨테이너 이미지를 새 언더클라우드의 언더클라우드 레지스트리로 내보낼 수 없습니다. push_destination 값을 false로 설정하거나 사용자 지정 값을 사용하여 소스에서 직접 이미지를 가져와야 합니다. 자세한 내용은 컨테이너 이미지 준비 매개변수를 참조하십시오.

  4. 사용자 지정 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} 포맷과 일치합니다.

  5. undercloud.conf 파일의 custom_env_files 매개변수에 undercloud-container-images.yaml 파일을 포함합니다. 언더클라우드 설치를 실행하면 언더클라우드 서비스에서 이 파일에서 고정된 컨테이너 이미지 매핑을 사용합니다.