Ansible: 인벤토리 생성 가이드

인벤토리 생성 가이드

Ansible 인벤토리를 생성하는 가이드를 안내해드리는 게시글입니다.

인벤토리 소개

Ansible 인벤토리는 Ansible이 관리하는 대상 호스트의 목록을 포함하는 파일입니다. 인벤토리 파일은 일반 텍스트 파일이며, 실행하려는 playbook에 해당하는 호스트의 이름, IP 주소, SSH 포트, 사용자 이름 등이 포함됩니다.

기본 인벤토리 파일

Ansible은 기본으로 “/etc/ansible/hosts” 파일을 참조하지만, 필요에 따라 사용자 정의 인벤토리 파일을 작성할 수 있습니다. 기본 인벤토리 파일에는 다음과 같은 내용이 포함되어 있을 수 있습니다.

192.168.10.10
192.168.10.20
ansible_host=192.168.10.30 ansible_user=jdoe ansible_port=2222

사용자 정의 인벤토리 파일

사용자 정의 인벤토리 파일을 작성하려면 다음과 같은 단계를 거칩니다.

  1. 작업 디렉토리를 생성하고, 인벤토리 디렉토리로 지정합니다.
  2. $ mkdir -p ~/my_ansible_project/inventory $ cd ~/my_ansible_project/inventory
  3. 사용자 정의 인벤토리 파일을 만들고, 필요한 호스트 정보를 입력합니다.
  4. $ touch my_hosts $ nano my_hosts
  5. 인벤토리 파일에 다음과 같은 내용을 추가합니다.
[webservers]
web1 ansible_host=192.168.10.10
web2 ansible_host=192.168.10.20 

[dbservers]
db1 ansible_host=192.168.10.30 ansible_user=jdoe ansible_port=2222

인벤토리 파일 작성 방법

인벤토리 파일 작성시 주요한 구성 요소들을 사용할 수 있습니다. 다음은 일반적으로 사용되는 구성 요소들입니다.

  • 단일 호스트 정의
192.168.10.10
  • 그룹 정의
[webservers]
web1
web2

[dbservers]
db1   
  • 변수 정의
[webservers]
web1 ansible_host=192.168.10.10
web2 ansible_host=192.168.10.20
  • 별칭, 포트, 사용자 설정
web1 ansible_host=192.168.10.10
db1 ansible_host=192.168.10.20 ansible_user=jdoe ansible_port=2222

인벤토리 테스트

작성한 인벤토리 파일이 제대로 작동하는지 확인하려면 사용자 정의 인벤토리 파일을 포함한 상태에서 Ansible Ping 모듈을 사용합니다.

$ ansible -i /path/to/your/inventory/my_hosts -m ping all

마치며

Ansible 인벤토리는 시스템 관리자가 대상 호스트의 목록을 쉽게 관리할 수 있도록 도와줍니다. 이 가드를 통해 인벤토리 파일 작성 방법을 숙지하고, 사용자 정의 인벤토리 파일을 효율적으로 활용하세요.