4장. 설정 후크
구성 후크는 자체 구성 기능을 Overcloud 배포 프로세스에 삽입하는 방법을 제공합니다. 여기에는 기본 Overcloud 서비스 구성 및 Puppet 기반 구성을 수정하기 위한 후크 이전 및 이후에 사용자 지정 설정을 삽입하는 후크가 포함됩니다.
4.1. 첫 번째 부팅: 첫 번째 부팅 설정 사용자 지정
director는 Overcloud 초기 생성 시 모든 노드에서 구성을 수행하는 메커니즘을 제공합니다. director는 OS::TripleO::NodeUserData
리소스 유형을 사용하여 호출할 수 있는 cloud-init
를 통해 이를 수행합니다.
이 예제에서는 모든 노드에서 사용자 지정 IP 주소로 네임서버를 업데이트합니다. 먼저 각 노드의 resolv.conf
를 특정 이름 서버에 추가하는 스크립트를 실행하는 기본 heat 템플릿(/home/stack/templates/nameserver.yaml
)을 생성해야 합니다. OS::TripleO::MultipartMime
리소스 유형을 사용하여 구성 스크립트를 보낼 수 있습니다.
heat_template_version: 2014-10-16 description: > Extra hostname configuration resources: userdata: type: OS::Heat::MultipartMime properties: parts: - config: {get_resource: nameserver_config} nameserver_config: type: OS::Heat::SoftwareConfig properties: config: | #!/bin/bash echo "nameserver 192.168.1.1" >> /etc/resolv.conf outputs: OS::stack_id: value: {get_resource: userdata}
다음으로 heat 템플릿을 OS::TripleO::NodeUserData
리소스 유형으로 등록하는 환경 파일(/home/stack/templates/firstboot.yaml
)을 생성합니다.
resource_registry: OS::TripleO::NodeUserData: /home/stack/templates/nameserver.yaml
첫 번째 부팅 구성을 추가하려면 Overcloud를 처음 생성할 때 다른 환경 파일과 함께 환경 파일을 스택에 추가합니다. 예를 들면 다음과 같습니다.
$ openstack overcloud deploy --templates \ ... -e /home/stack/templates/firstboot.yaml \ ...
-e
는 환경 파일을 Overcloud 스택에 적용합니다.
그러면 처음 생성되어 부팅될 때 모든 노드에 구성이 추가됩니다. Overcloud 스택 업데이트와 같은 이러한 템플릿에 대한 후속 포함은 이 스크립트를 실행하지 않습니다.
OS::TripleO::NodeUserData
만 하나의 heat 템플릿에 등록할 수 있습니다. 이후의 사용은 사용할 heat 템플릿을 덮어씁니다.