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

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

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

참고

Ansible은 OpenStack Platform director 역할과 다른 역할의 개념을 사용합니다.

12.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 플레이북을 적용합니다.