3.8. 컨테이너 이미지 준비 매개변수

컨테이너를 준비하는 데 필요한 기본 파일(containers-prepare-parameter.yaml)에는 ContainerImagePrepare heat 매개변수가 포함되어 있습니다. 이 매개변수는 이미지 세트를 준비하기 위한 다양한 설정을 정의합니다.

parameter_defaults:
  ContainerImagePrepare:
  - (strategy one)
  - (strategy two)
  - (strategy three)
  ...

각각의 설정에서 하위 매개변수 세트를 통해 사용할 이미지와 해당 이미지의 사용 방법을 정의할 수 있습니다. 다음 표에는 각 ContainerImagePrepare 설정에 사용할 수 있는 하위 매개변수에 대한 정보가 나와 있습니다.

매개변수설명

excludes

설정에서 제외할 이미지 이름 하위 문자열 목록입니다.

includes

설정에 포함할 이미지 이름 하위 문자열 목록입니다. 기존 이미지와 일치하는 이미지 이름이 하나 이상 있어야 합니다. includes를 지정하면 excludes는 모두 무시됩니다.

modify_append_tag

대상 이미지 태그에 추가할 문자열입니다. 예를 들어 14.0-89 태그가 있는 이미지를 가져와서 modify_append_tag-hotfix로 설정하면 director에서 최종 이미지에 14.0-89-hotfix로 태그합니다.

modify_only_with_labels

수정할 이미지를 필터링하는 이미지 레이블로 이루어진 사전입니다. 이미지가 정의된 레이블과 일치하면 director에서 그 이미지를 수정 프로세스에 포함합니다.

modify_role

이미지를 대상 레지스트리로 푸시하기 전 업로드 중에 실행할 ansible 역할 이름의 문자열입니다.

modify_vars

modify_role로 전달할 변수로 이루어진 사전입니다.

push_destination

업로드 프로세스 중 이미지를 푸시할 레지스트리의 네임스페이스입니다. 이 매개변수에 네임스페이스를 지정하면 모든 이미지 매개변수에서도 그 네임스페이스를 사용합니다. true로 설정하면 push_destination이 언더클라우드 레지스트리 네임스페이스로 설정됩니다. 프로덕션 환경에서는 이 매개변수를 false로 설정하지 마십시오. 이 매개변수가 false로 설정되었거나 이 매개변수가 제공되지 않았는데 원격 레지스트리에 인증이 필요하면 ContainerImageRegistryLogin 매개변수를 true로 설정하고 ContainerImageRegistryCredentials 매개변수로 인증 정보를 제공하십시오.

pull_source

원본 컨테이너 이미지를 가져온 소스 레지스트리입니다.

set

초기 이미지를 가져올 위치를 정의하는 key: value 정의로 이루어진 사전입니다.

tag_from_label

결과 이미지를 태그하는 레이블 패턴을 정의합니다. 일반적으로 {version}-{release}로 설정합니다.

set 매개변수는 여러 key: value 정의를 설정할 수 있습니다.

설명

ceph_image

Ceph Storage 컨테이너 이미지의 이름입니다.

ceph_namespace

Ceph Storage 컨테이너 이미지의 네임스페이스입니다.

ceph_tag

Ceph Storage 컨테이너 이미지의 태그입니다.

name_prefix

각 OpenStack 서비스 이미지의 접두사입니다.

name_suffix

각 OpenStack 서비스 이미지의 접미사입니다.

namespace

각 OpenStack 서비스 이미지의 네임스페이스입니다.

neutron_driver

사용할 OpenStack Networking (Neutron) 컨테이너를 결정하는 데 사용할 드라이버입니다. null 값을 사용하여 표준 neutron-server 컨테이너를 설정합니다. OVN 기반 컨테이너를 사용하려면 ovn으로 설정합니다.

tag

소스 레지스트리에서 가져올 이미지를 식별하기 위해 director에서 사용하는 태그입니다. 일반적으로 이 키를 기본값, 즉 Red Hat OpenStack Platform 버전 번호로 설정합니다.

참고

컨테이너 이미지에서 Red Hat OpenStack Platform 버전을 기반으로 멀티 스트림 태그를 사용합니다. 이는 더 이상 latest 태그가 없음을 의미합니다.

ContainerImageRegistryCredentials 매개변수는 컨테이너 레지스트리를 사용자 이름 및 암호에 매핑하여 레지스트리를 인증합니다.

컨테이너 레지스트리에 사용자 이름과 암호가 필요한 경우 ContainerImageRegistryCredentials를 사용하여 다음 구문으로 인증 정보를 설정할 수 있습니다.

  ContainerImagePrepare:
  - push_destination: 192.168.24.1:8787
    set:
      namespace: registry.redhat.io/...
      ...
  ContainerImageRegistryCredentials:
    registry.redhat.io:
      my_username: my_password

예제에서 my_usernamemy_password를 사용자 인증 정보로 교체합니다. 개별 사용자 인증 정보를 사용하는 대신, 레지스트리 서비스 계정을 생성하고 해당 인증 정보를 사용하여 registry.redhat.io 콘텐츠에 액세스하는 것이 좋습니다. 자세한 내용은 "Red Hat Container Registry Authentication"을 참조하십시오.

ContainerImageRegistryLogin 매개변수는 배포 중인 시스템에서 레지스트리 로그인을 제어하는 데 사용합니다. push_destination이 false로 설정되었거나 사용되지 않는 경우 true로 설정해야 합니다.

  ContainerImagePrepare:
  - set:
      namespace: registry.redhat.io/...
      ...
  ContainerImageRegistryCredentials:
    registry.redhat.io:
      my_username: my_password
  ContainerImageRegistryLogin: true

push_destination을 구성한 경우 ContainerImageRegistryLogintrue로 설정하지 마십시오. 이 옵션을 true로 설정했는데 오버클라우드 노드에서 ContainerImageRegistryCredentials에 정의된 레지스트리 호스트에 네트워크로 연결할 수 없는 경우, 로그인할 때 배포에 실패할 수 있습니다.