10.2. heat 매개변수
director 템플릿 컬렉션의 각 heat 템플릿에는 parameters 섹션이 포함되어 있습니다. 이 섹션에서는 특정 오버클라우드 서비스와 관련된 모든 매개변수에 대한 정의가 포함되어 있습니다. 여기에는 다음이 포함됩니다.
-
overcloud.j2.yaml- 기본 기본 매개변수 -
roles_data.yaml- 구성 가능 역할에 대한 기본 매개변수 -
deployment/*.yaml- 특정 서비스의 기본 매개변수
다음 방법을 사용하여 이러한 매개변수의 값을 수정할 수 있습니다.
- 사용자 지정 매개변수에 대한 환경 파일을 생성합니다.
-
사용자 지정 매개변수를 환경 파일의
parameter_defaults섹션에 포함합니다. -
openstack overcloud deploy명령을 사용하여 환경 파일을 포함합니다.
10.2.1. 예 1: 시간대 구성 링크 복사링크가 클립보드에 복사되었습니다!
시간대(puppet/services/time/timezone.yaml)를 설정하는 Heat 템플릿에는 TimeZone 매개변수가 포함되어 있습니다. TimeZone 매개변수를 비워 두면 오버클라우드에서 시간을 기본값으로 UTC 로 설정합니다.
시간대 목록을 가져오려면 timedatectl list-timezones 명령을 실행합니다. 다음 예제 명령은 아시아의 시간대를 검색합니다.
sudo timedatectl list-timezones|grep "Asia"
$ sudo timedatectl list-timezones|grep "Asia"
시간대를 식별한 후 환경 파일에서 TimeZone 매개변수를 설정합니다. 다음 예제 환경 파일은 TimeZone 값을 Asia/Tokyo 로 설정합니다.
parameter_defaults: TimeZone: 'Asia/Tokyo'
parameter_defaults:
TimeZone: 'Asia/Tokyo'
10.2.2. 예 2: RabbitMQ 파일 설명자 제한 구성 링크 복사링크가 클립보드에 복사되었습니다!
특정 구성의 경우 RabbitMQ 서버의 파일 설명자 제한을 늘려야 할 수 있습니다. deployment/rabbitmq/rabbitmq-container-puppet.yaml heat 템플릿을 사용하여 RabbitFDLimit 매개변수에 새 제한을 설정합니다. 다음 항목을 환경 파일에 추가합니다.
parameter_defaults: RabbitFDLimit: 65536
parameter_defaults:
RabbitFDLimit: 65536
10.2.3. 예 3: 매개변수 활성화 및 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
배포 중에 매개 변수를 초기에 설정한 다음 업데이트 또는 확장 작업과 같은 향후 배포 작업에 대해 매개 변수를 비활성화해야 할 수 있습니다. 예를 들어 오버클라우드 생성 중에 사용자 지정 RPM을 포함하려면 환경 파일에 다음 항목을 포함합니다.
parameter_defaults: DeployArtifactURLs: ["http://www.example.com/myfile.rpm"]
parameter_defaults:
DeployArtifactURLs: ["http://www.example.com/myfile.rpm"]
향후 배포에서 이 매개변수를 비활성화하려면 매개변수를 제거하는 것만으로는 충분하지 않습니다. 대신 매개변수를 빈 값으로 설정해야 합니다.
parameter_defaults: DeployArtifactURLs: []
parameter_defaults:
DeployArtifactURLs: []
이렇게 하면 후속 배포 작업에 더 이상 매개변수가 설정되지 않습니다.
10.2.4. 예 4: 역할 기반 매개변수 링크 복사링크가 클립보드에 복사되었습니다!
[ROLE]Parameters 매개 변수를 사용하여 [ROLE] 을 구성 가능 역할로 교체하여 특정 역할에 대한 매개 변수를 설정합니다.
예를 들어 director는 컨트롤러 및 컴퓨팅 노드 모두에 sshd 를 구성합니다. 컨트롤러 및 컴퓨팅 노드에 대해 다른 sshd 매개변수를 설정하려면 ControllerParameters 및 ComputeParameters 매개변수를 모두 포함하는 환경 파일을 생성하고 각 특정 역할에 대해 sshd 매개변수를 설정합니다.
parameter_defaults:
ControllerParameters:
BannerText: "This is a Controller node"
ComputeParameters:
BannerText: "This is a Compute node"
parameter_defaults:
ControllerParameters:
BannerText: "This is a Controller node"
ComputeParameters:
BannerText: "This is a Compute node"
10.2.5. 수정할 매개변수 식별 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat OpenStack Platform director는 설정에 필요한 여러 매개변수를 제공합니다. 설정하려는 특정 옵션과 해당 director 매개변수를 식별하는 데 어려움이 있을 수 있습니다. director를 사용하여 설정할 옵션이 있는 경우 다음 워크플로우를 사용하여 옵션을 식별하고 특정 오버클라우드 매개변수에 매핑합니다.
- 구성할 옵션을 식별합니다. 옵션을 사용하는 서비스를 기록합니다.
이 옵션에 해당하는 Puppet 모듈을 확인합니다. Red Hat OpenStack Platform용 Puppet 모듈은 director 노드의
/etc/puppet/modules에 있습니다. 각 모듈은 특정 서비스에 해당합니다. 예를 들어keystone모듈은 OpenStack ID(keystone)에 해당합니다.- Puppet 모듈에 선택한 옵션을 제어하는 변수가 포함된 경우 다음 단계로 이동합니다.
- Puppet 모듈에 선택한 옵션을 제어하는 변수가 없으면 이 옵션에 대한 hieradata가 없습니다. 가능한 경우 오버클라우드가 배포를 완료한 후 수동으로 옵션을 설정할 수 있습니다.
hieradata 형식으로 Puppet 변수의 코어 Heat 템플릿 컬렉션을 확인합니다.
deployment/*의 템플릿은 일반적으로 동일한 서비스의 Puppet 모듈에 해당합니다. 예를 들어deployment/keystone/keystone-container-puppet.yaml템플릿은keystone모듈에 hieradata를 제공합니다.- heat 템플릿에서 Puppet 변수에 hieradata를 설정하는 경우 템플릿에서 수정할 수 있는 director 기반 매개 변수도 공개해야 합니다.
- heat 템플릿에서 Puppet 변수에 hieradata를 설정하지 않으면 구성 후크를 사용하여 환경 파일을 사용하여 hieradata를 전달합니다. hieradata 사용자 지정에 대한 자세한 내용은 10.3.4절. “Puppet: 역할에 대한 hieradata 사용자 정의” 을 참조하십시오.
절차
OpenStack Identity(keystone)의 알림 형식을 변경하려면 워크플로우를 사용하고 다음 단계를 완료합니다.
-
구성할 OpenStack 매개 변수(
notification_format)를 식별합니다. notification_format설정을 위해keystonePuppet 모듈을 검색합니다.grep notification_format /etc/puppet/modules/keystone/manifests/*
$ grep notification_format /etc/puppet/modules/keystone/manifests/*Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 경우 keystone 모듈은
keystone::notification_format변수를 사용하여 이 옵션을 관리합니다.이 변수에 대해
keystone서비스 템플릿을 검색합니다.grep "keystone::notification_format" /usr/share/openstack-tripleo-heat-templates/deployment/keystone/keystone-container-puppet.yaml
$ grep "keystone::notification_format" /usr/share/openstack-tripleo-heat-templates/deployment/keystone/keystone-container-puppet.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력에는 director에서
KeystoneNotificationFormat매개변수를 사용하여keystone::notification_formathieradata를 설정하는 것을 확인할 수 있습니다.
-
구성할 OpenStack 매개 변수(
다음 표는 최종 매핑을 보여줍니다.
| director 매개변수 | Puppet hieradata | OpenStack Identity(keystone) 옵션 |
|---|---|---|
|
|
|
|
오버클라우드 환경 파일에 KeystoneNotificationFormat 을 설정한 다음 오버클라우드 구성 중에 keystone.conf 파일에 notification_format 옵션을 설정합니다.