Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

4.7. Puppet: 사용자 정의 매니페스트 적용

경우에 따라 Overcloud 노드에 일부 추가 구성 요소를 설치하고 구성해야 할 수 있습니다. 기본 구성이 완료된 후 노드에 적용되는 사용자 정의 Puppet 매니페스트를 사용하여 이를 수행할 수 있습니다. 기본 예로 각 노드에 motd 를 설치할 수 있습니다. 수행 프로세스는 먼저 Puppet 구성을 시작하는 Heat 템플릿(/home/stack/templates/custom_puppet_config.yaml)을 생성하는 것입니다.

heat_template_version: 2014-10-16

description: >
  Run Puppet extra configuration to set new MOTD

parameters:
  servers:
    type: json

resources:
  ExtraPuppetConfig:
    type: OS::Heat::SoftwareConfig
    properties:
      config: {get_file: motd.pp}
      group: puppet
      options:
        enable_hiera: True
        enable_facter: False

  ExtraPuppetDeployments:
    type: OS::Heat::SoftwareDeploymentGroup
    properties:
      config: {get_resource: ExtraPuppetConfig}
      servers: {get_param: servers}

여기에는 템플릿 내에 /home/stack/templates/motd.pp 가 포함되어 구성을 위해 노드에 전달합니다. motd.pp 파일 자체에는 motd 를 설치하고 구성하는 Puppet 클래스가 포함되어 있습니다.

다음으로 heat 템플릿을 OS::TripleO::NodeExtraConfigPost: 리소스 유형으로 등록하는 환경 파일(/home/stack/templates/puppet_post_config.yaml)을 생성합니다.

resource_registry:
  OS::TripleO::NodeExtraConfigPost: /home/stack/templates/custom_puppet_config.yaml

마지막으로 Overcloud 스택을 생성하거나 업데이트할 때 다른 환경 파일과 함께 이 환경 파일을 포함합니다.

$ openstack overcloud deploy --templates \
    ...
    -e /home/stack/templates/puppet_post_config.yaml \
    ...

이는 motd.pp 의 설정을 Overcloud의 모든 노드에 적용합니다.