728x90
Ansible Facts
Facts는 Ansible이 목표 호스트에서 수집하는 정보입니다.
플레이북 편집
vim gather_facts_playbook.yml
---
- name: Gather Facts
hosts: all
gather_facts: true # 기본값이지만 명확성을 위해 여기에 지정합니다.
tasks:
- name: Display gathered facts
debug:
var: ansible_facts
이 플레이북은 모든 호스트에서 Facts를 수집하고, 수집된 Facts를 출력하는 역할을 합니다.
ansible_facts 변수에는 각 호스트에서 수집된 모든 Facts가 포함되어 있습니다.
Facts는 기본적으로 Ansible에 의해 수집되므로 별도로 설정하지 않아도 됩니다.
gather_facts: true는 플레이북에서 Facts 수집을 활성화하는 옵션입니다. 따라서 대부분의 플레이북은 이 옵션을 설정하지 않아도 됩니다.
플레이북 실행
ansible-playbook -i inventory/hosts.ini gather_facts_playbook.yml --limit centos7
PLAY [Gather Facts] ************************************************************************************************
TASK [Gathering Facts] *********************************************************************************************
ok: [centos7]
TASK [Display gathered facts] **************************************************************************************
ok: [centos7] => {
"ansible_facts": {
"all_ipv4_addresses": [
"192.168.10.62",
"192.168.56.62"
],
...
"virtualization_tech_host": [],
"virtualization_type": "virtualbox"
}
}
PLAY RECAP *********************************************************************************************************
centos7 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ad-hoc 명령어
- gather_facts
ansible -i inventory/hosts.ini centos7 -m gather_facts
centos7 | SUCCESS => {
"ansible_facts": {
"ansible_all_ipv4_addresses": [
"192.168.10.62",
"192.168.56.62"
],
...
"changed": false,
"deprecations": [],
"warnings": []
}
- setup 모듈
ansible -i inventory/hosts.ini centos7 -m setup
centos7 | SUCCESS => {
"ansible_facts": {
"ansible_all_ipv4_addresses": [
"192.168.10.62",
"192.168.56.62"
],
...
"module_setup": true
},
"changed": false
}
gather_facts와 setup의 역할과 몇 가지 차이점
gather_facts
- gather_facts는 플레이북 수행 시 Ansible이 자동으로 호스트에서 정보를 수집하도록 하는 옵션입니다.
- 기본적으로 gather_facts가 활성화되어 있으면, 플레이북이 실행되기 전에 각 호스트에서 Ansible이 Facts를 수집합니다.
- 수집된 정보는 ansible_facts라는 변수에 저장되어 플레이북에서 참조할 수 있습니다.
setup 모듈
- setup 모듈은 플레이북 내에서 명시적으로 호스트의 정보를 수집하도록 하는 모듈입니다.
- setup 모듈은 gather_facts와 별도로 사용될 수 있으며, 필요한 경우에 수동으로 호출하여 정보를 갱신할 수 있습니다.
따라서 기본적으로 gather_facts가 활성화되어 있으면 자동으로 Facts가 수집되며, 필요한 경우에는 명시적으로 setup 모듈을 사용하여 수동으로 수집할 수 있습니다. gather_facts가 비활성화된 경우에는 setup 모듈을 사용하여 정보를 수집해야 합니다.
참고URL
- Ansible Documentation : Ansible facts
- Ansible Documentation : Special Variables - Magic variables
728x90
'리눅스' 카테고리의 다른 글
[draft] SSH 호스트 키가 변경되었을 때 발생하는 경고 메시지를 해결하는 방법 (0) | 2024.01.16 |
---|---|
Ansible에서 사용자 정의 팩트를 정의하고 사용하는 방법 (0) | 2024.01.16 |
ICMP Ping 테스트를 수행하는 Python 스크립트 (0) | 2024.01.14 |
CentOS 7에서 nginx-module-vts 모듈을 추가하는 방법 (0) | 2024.01.12 |
[draft] nginx에서 사용할 수 있는 모듈을 확인하는 방법 (0) | 2024.01.12 |