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

컨테이너를 준비하는 데 필요한 기본 파일(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로 설정하지 않는 것이 좋습니다.

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으로 설정합니다. OpenDaylight 기반 컨테이너를 사용하려면 odl로 설정합니다.

tag

소스 레지스트리에서 가져올 이미지를 식별하기 위해 director에서 사용하는 태그입니다. 일반적으로 이 키는 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"을 참조하십시오.