4장. 구성 후크


구성 후크를 사용하여 고유한 사용자 지정 구성 기능을 오버클라우드 배포 프로세스에 삽입합니다. 후크를 생성하여 기본 오버클라우드 서비스 구성 전후에 사용자 지정 구성을 삽입하고 수정 및 Puppet 기반 구성을 포함하여 후크를 삽입할 수 있습니다.

4.1. 첫 번째 부팅: 첫 번째 부팅 구성 사용자 정의

오버클라우드를 처음 생성한 후 director는 cloud-init 를 사용하여 모든 노드에서 구성을 수행합니다. NodeUserData 리소스 유형을 사용하여 cloud-init 를 호출할 수 있습니다.

OS::TripleO::NodeUserData
모든 노드에 적용할 cloud-init 구성입니다.
OS::TripleO::Controller::NodeUserData
컨트롤러 노드에 적용할 cloud-init 구성입니다.
OS::TripleO::Compute::NodeUserData
컴퓨팅 노드에 적용할 cloud-init 구성입니다.
OS::TripleO::CephStorage::NodeUserData
Ceph Storage 노드에 적용할 cloud-init 구성입니다.
OS::TripleO::ObjectStorage::NodeUserData
Object Storage 노드에 적용할 cloud-init 구성입니다.
OS::TripleO::BlockStorage::NodeUserData
블록 스토리지 노드에 적용할 cloud-init 구성입니다.
OS::TripleO::[ROLE]::NodeUserData
사용자 지정 노드에 적용할 cloud-init 구성입니다. [ROLE] 을 구성 가능 역할 이름으로 교체합니다.

이 예제에서는 모든 노드에서 사용자 지정 IP 주소로 이름 서버를 업데이트합니다.

절차

  1. 스크립트를 실행하여 각 노드에 resolv .conf 파일을 특정 이름 서버로 추가하는 기본 heat 템플릿 ~/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}
  2. heat 템플릿을 OS::TripleO::NodeUserData 리소스 유형으로 등록하는 환경 파일 ~/templates/firstboot.yaml 을 생성합니다.

    resource_registry:
      OS::TripleO::NodeUserData: /home/stack/templates/nameserver.yaml
  3. 첫 번째 부팅 구성을 오버클라우드에 추가하려면 다른 환경 파일과 함께 스택에 환경 파일을 추가합니다.

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

    그러면 처음 생성될 때 모든 노드에 구성이 추가되고 처음으로 부팅됩니다. 이후 오버클라우드 스택 업데이트와 같은 이러한 템플릿은 이러한 스크립트를 실행하지 않습니다.

중요

NodeUserData 리소스를 리소스당 하나의 heat 템플릿에만 등록할 수 있습니다. 후속 사용은 사용할 heat 템플릿을 재정의합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.