10.4. 동적 인벤토리 스크립트 실행
director는 OpenStack Platform 환경에서 Ansible 기반 자동화를 실행할 수 있습니다. director는 tripleo-ansible-inventory
명령을 실행하여 환경에 있는 노드의 동적 인벤토리를 생성합니다.
절차
노드의 동적 인벤토리를 보려면
stackrc
를 소싱한 후tripleo-ansible-inventory
명령을 실행합니다.$ source ~/stackrc (undercloud) $ tripleo-ansible-inventory --list
--list
옵션은 모든 호스트에 대한 세부 정보를 반환합니다. 이 명령을 수행하면 동적 인벤토리가 JSON 포맷으로 출력됩니다.{"overcloud": {"children": ["controller", "compute"], "vars": {"ansible_ssh_user": "heat-admin"}}, "controller": ["192.168.24.2"], "undercloud": {"hosts": ["localhost"], "vars": {"overcloud_horizon_url": "http://192.168.24.4:80/dashboard", "overcloud_admin_password": "abcdefghijklm12345678", "ansible_connection": "local"}}, "compute": ["192.168.24.3"]}
현재 환경에서 Ansible 플레이북을 실행하려면
ansible
명령을 실행하고-i
옵션을 사용하여 동적 인벤토리 툴의 전체 경로를 포함합니다. 예를 들면 다음과 같습니다.(undercloud) $ ansible [HOSTS] -i /bin/tripleo-ansible-inventory [OTHER OPTIONS]
[HOSTS]
를 사용할 호스트 유형으로 교체합니다. 예를 들면 다음과 같습니다.-
모든 Controller 노드인 경우
controller
-
모든 Compute 노드인 경우
compute
-
모든 오버클라우드 하위 노드인 경우
overcloud
. 예:controller
및compute
-
언더클라우드인 경우
undercloud
-
모든 노드인 경우
"*"
-
모든 Controller 노드인 경우
[OTHER OPTIONS]
를 추가 Ansible 옵션으로 교체합니다. 몇 가지 유용한 옵션은 다음과 같습니다.-
--ssh-extra-args='-o StrictHostKeyChecking=no'
: 호스트 키 검사에서 확인을 바이패스합니다. -
-u [USER]
: Ansible 자동화를 실행하는 SSH 사용자를 변경합니다. 오버클라우드의 기본 SSH 사용자는 동적 인벤토리에서ansible_ssh_user
매개변수를 사용하여 자동으로 정의됩니다.-u
옵션은 이 매개변수를 재정의합니다. -
-m [MODULE]
: 특정Ansible 모듈을 사용합니다. 기본값은 Linux 명령을 실행하는command
입니다. -
-a [MODULE_ARGS]
: 선택한 모듈에 대한 인수를 정의합니다.
-
오버클라우드의 사용자 지정 Ansible 자동화는 표준 오버클라우드 스택의 일부가 아닙니다. 이후 openstack overcloud deploy
명령을 실행하면 오버클라우드 노드에서 OpenStack Platform 서비스의 Ansible 기반 설정이 재정의될 수 있습니다.