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