27.2. 오버클라우드의 컨테이너 이미지 고정

특정 상황에서는 오버클라우드에 특정 컨테이너 이미지 버전 세트가 필요할 수 있습니다. 이 경우 이미지를 특정 버전에 고정해야 합니다. 이미지를 고정하려면 containers-prepare-parameter.yaml 파일을 생성하고 이 파일을 사용하여 컨테이너 이미지를 언더클라우드 레지스트리로 가져오고 고정된 이미지 목록이 포함된 환경 파일을 생성해야 합니다.

예를 들어 containers-prepare-parameter.yaml 파일에 다음 내용이 포함될 수 있습니다.

parameter_defaults:
  ContainerImagePrepare:
    - push_destination: true
      set:
        name_prefix: openstack-
        name_suffix: ''
        namespace: registry.redhat.io/rhosp-rhel8
        neutron_driver: ovn
      tag_from_label: '{version}-{release}'

  ContainerImageRegistryCredentials:
    registry.redhat.io:
      myuser: 'p@55w0rd!'

ContainerImagePrepare 매개변수에는 단일 규칙 set가 포함되어 있습니다. 이 규칙 set에는 tag 매개변수가 포함되지 않아야 하며 tag_from_label 매개변수를 사용하여 각 컨테이너 이미지의 최신 버전 및 릴리스를 식별해야 합니다. director는 이 규칙 set를 사용하여 각 컨테이너 이미지의 최신 버전을 식별하고, 각 이미지를 가져오고, director의 컨테이너 레지스트리에 각 이미지에 태그를 지정합니다.

절차

  1. openstack tripleo container image prepare 명령을 실행하여 containers-prepare-parameter.yaml 파일에 정의된 소스에서 모든 이미지를 가져옵니다. --output-env-file을 포함하여 고정된 컨테이너 이미지 목록을 포함할 출력 파일을 지정합니다.

    $ sudo openstack tripleo container image prepare -e /home/stack/templates/containers-prepare-parameter.yaml --output-env-file overcloud-images.yaml

    overcloud-images.yaml 파일은 서비스 매개변수와 컨테이너 이미지 매핑이 포함된 환경 파일입니다. 예를 들어 OpenStack Identity(keystone)는 ContainerKeystoneImage 매개변수를 사용하여 컨테이너 이미지를 정의합니다.

    ContainerKeystoneImage: undercloud.ctlplane.localdomain:8787/rhosp-rhel8/openstack-keystone:16.2.4-5

    컨테이너 이미지 태그는 {version}-{release} 포맷과 일치합니다.

  2. openstack overcloud deploy 명령을 실행할 때 환경 파일 컬렉션을 사용하여 특정 순서로 containers-prepare-parameter.yamlovercloud-images.yaml 파일을 포함합니다.

    $ openstack overcloud deploy --templates \
        ...
        -e /home/stack/containers-prepare-parameter.yaml \
        -e /home/stack/overcloud-images.yaml \
        ...

오버클라우드 서비스에서는 overcloud-images.yaml 파일에 나열된 고정 이미지를 사용합니다.