[Ansible] 6 . Ansible Playbook에서 Command line을 통해 입력 받은 변수 사용 방법

Ansible의 playbook은 작성 시 일반 프로그래밍 언어와 같은 변수(var)입력 기능을 지원한다.

변수는 대상 서버의 Facts 정보 또는 사용자가 입력한 값을 지정하여 활용할 수 있다.

여기서는 간단하게 Playbook 내 대상 host를 Adhoc 커맨드와 같이 특정 서버를 지정하여 실행하는 용도로 변수 기능을 활용할 예정이다.

[ansible-playbook man page] -e, --extra-vars set additional variables as key=value or YAML/JSON, if filename prepend with @

외부 변수 입력은 -e 옵션을 통해 지정 가능하다.

Playbook 내 아래와 같이 {{ input_host }} 변수 값을 지정한다.

명령어 실행 시 "ansible-playbook var.yml -k -i hosts -e "input_host=server2" 로 실행하면,

Playbook 파일 내 hosts 값 변경 없이 아래와 같이 server2에만 Playbook을 실행할 수 있다.

대상 서버를 변경하고 싶다면 Command Line에서 input_host 의 값을 "input_host=server4" 로 변경 후 실행하면 된다.


다른 카테고리의 글 목록

Ansible 카테고리의 포스트를 톺아봅니다