리눅스
[draft] Ansible 구성 설정(Configuration Settings) 파일의 우선순위에 대한 설명
SangChul Dot Kr Blog
2026. 2. 28. 15:22
Ansible 구성 설정(Configuration Settings) 파일의 우선 순위에 대한 설명
Ansible 구성 우선순위 한눈에 보기
- 환경 변수 (ANSIBLE_CONFIG)
- 현재 디렉터리의 ansible.cfg
- 사용자 홈 디렉터리의 ~/.ansible.cfg
- 시스템 전역 설정 (/etc/ansible/ansible.cfg)
Command Line 옵션(-i, -e 등) 은 구성 파일 우선순위와는 별도로 모든 설정 중 최상위 우선순위를 가집니다.
1. 환경 변수 (ANSIBLE_CONFIG)
Ansible은 ANSIBLE_CONFIG 환경 변수를 통해 구성 파일의 경로를 지정할 수 있습니다. 이 환경 변수가 설정되어 있으면 해당 경로의 구성 파일이 사용됩니다.
export ANSIBLE_CONFIG=/path/to/your/ansible.cfg
2. 커맨드 라인 인수 (최상위 우선순위)
ansible-playbook이나 ansible 명령을 실행할 때 -i나 -e와 같은 인수를 사용하여 구성을 지정할 수 있습니다. 이는 명령이 실행되는 동안 구성을 임시로 설정하는 데 사용됩니다.
ansible-playbook -i inventory.ini -e "ansible_user=myuser" myplaybook.yml
3. 현재 디렉터리의 ansible.cfg
Ansible은 실행 중인 디렉토리에서 ansible.cfg 파일을 검색합니다. 현재 디렉토리에 구성 파일이 있으면 해당 파일이 사용됩니다.
ls -l ansible.cfg
4. 홈 디렉터리의 ~/.ansible.cfg
사용자의 홈 디렉토리에 .ansible.cfg 파일이 있으면 해당 파일이 사용됩니다. 이 파일은 사용자의 홈 디렉토리에 위치하며 전역 설정으로 사용됩니다.
ls -l ~/.ansible.cfg
5. 시스템 전역 설정 (/etc/ansible/ansible.cfg)
Ansible은 /etc/ansible/ansible.cfg 경로에 위치한 시스템 전역 설정 파일도 읽습니다. 이 파일은 시스템 전체에 적용되는 전역 구성을 설정하는 데 사용됩니다.
ls -l /etc/ansible/ansible.cfg
6. 현재 적용 중인 구성 파일 확인
Ansible이 실제로 사용 중인 구성 파일은 다음 명령으로 확인할 수 있습니다.
ansible --version
$ ansible --version
ansible 2.9.27
config file = /home/tuser/ansible-spec/ansible.cfg
configured module search path = [u'/home/tuser/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /bin/ansible
python version = 2.7.5 (default, Jun 28 2022, 15:30:04) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]
7. 인벤토리(inventory) 설정 확인
cat ~/ansible-spec/ansible.cfg | egrep '^inventory'
$ cat ~/ansible-spec/ansible.cfg | egrep '^inventory'
inventory = ~/ansible-spec/inventory
현재 Ansible은 위 경로의 Inventory를 기본으로 사용 중
참고URL
- Ansible DOCS(docs.ansible.com) : https://docs.ansible.com/ansible/latest/reference_appendices/config.html
- 변군이글루 블로그 : ansible inventory(인벤토리) 설정