13장. Ansible로 오버클라우드 구성

Ansible은 오버클라우드 구성을 적용하는 기본 방식입니다. 이 장에서는 오버클라우드의 Ansible 구성을 조작하는 방법을 설명합니다.

director가 Ansible 플레이북을 자동 생성해 주지만 Ansible 구문을 숙지하는 것이 좋습니다. Ansible 사용에 관한 자세한 내용은 https://docs.ansible.com/을 참조하십시오.

참고

Ansible은 OpenStack Platform director 역할과 다른 역할의 개념을 사용합니다. Ansible 역할은 플레이북의 재사용 가능한 구성 요소를 형성하지만, director 역할은 노드 유형에 대한 OpenStack 서비스의 매핑을 포함합니다.

13.1. Ansible 기반 오버클라우드 구성(config-download)

config-download 기능은 director가 오버클라우드를 구성하는데 사용하는 방법입니다. director는 OpenStack Orchestration(heat) 및 OpenStack Workflow 서비스(mistral)와 함께 config-download를 사용하여 소프트웨어 구성을 생성하고 각 오버클라우드 노드에 구성을 적용합니다. heat는 SoftwareDeployment 리소스에서 모든 배포 데이터를 생성하여 오버클라우드 설치 및 설정을 수행하지만, 설정을 적용하지는 않습니다. heat는 heat API를 통해 설정 데이터만 제공합니다. director가 스택을 생성할 때 mistral 워크플로우는 heat API를 쿼리하여 설정 데이터를 가져오고 Ansible 플레이북 세트를 생성한 다음 Ansible 플레이북을 오버클라우드에 적용합니다.

결과적으로 openstack overcloud deploy 명령을 실행하면 다음 프로세스가 수행됩니다.

  • director는 openstack-tripleo-heat-templates를 기반으로 새 배포 계획을 만들고, 계획을 사용자 지정할 수 있도록 모든 환경 파일과 매개변수를 추가합니다.
  • director는 heat를 사용하여 배포 계획을 해석하고 오버클라우드 스택 및 모든 하위 리소스를 만듭니다. 여기에는 OpenStack Bare Metal 서비스(ironic)를 통한 프로비저닝 노드가 포함됩니다.
  • heat는 배포 계획에서 소프트웨어 설정도 생성합니다. director는 이 소프트웨어 설정에서 Ansible 플레이북을 컴파일합니다.
  • director는 특히 Ansible SSH 액세스를 위해 오버클라우드 노드에 임시 사용자(tripleo-admin1)를 생성합니다.
  • director는 heat 소프트웨어 구성을 다운로드하고 heat 출력을 사용하여 일련의 Ansible 플레이북을 생성합니다.
  • director는 ansible-playbook을 사용하여 오버클라우드 노드에 Ansible 플레이북을 적용합니다.