[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' 카테고리의 다른 글
[Ansible] Ansible을 활용하여 Linux 로그 주기 설정인 logrotate 설정 변경 (0) | 2018.11.09 |
---|---|
[Ansible] 7. Ansible Playbook을 활용한 Zabbix Agent 자동 설치 (0) | 2018.08.31 |
[Ansible] 5 . Ansible 의 멱등성 이해 및 Cron 모듈 예제 (0) | 2018.08.22 |
[Ansible] 4 . Ansible Playbook 에서 hosts 인벤토리 파일 지정 (0) | 2018.08.22 |
[Ansible] 3 . Ansible Playbook 에서 gather_facts 설정 해제 (0) | 2018.08.22 |