[ansible] inventory(인벤토리) 작성법-①

반응형

inventory (인벤토리)

관리 호스트 목록이 작성된 인벤토리 파일은 ansible 작업 수행에 필수 파일이다.

- 관리 호스트 목록 정의

- 정적/동적 인벤토리 지원

- 단일 호스트 및 그룹 단위 관리 가능

- INI / YAML 파일 형식 두 가지 지원 (보통 작성하기 쉬운 INI 형식을 사용함)

- default inventory는 /etc/ansible/hosts (해당 파일은 사용하지 않고, 일반적으로 새 inventory를 생성하여 사용함)

- inventory 경로가 다른 곳에 있다면 ansible 명령 수행 시 -i 옵션으로 경로 및 파일 이름 지정 가능

 

 

 

inventory(인벤토리) 기본 경로 설정

현재 경로의 inventory 파일을 ansible의 default inventory로 지정하겠다는 뜻

$ cat /etc/ansible/ansible.cfg
[defaults]
inventory = ./inventory

 

 

 

정적 inventory(인벤토리) 예시

여러 그룹에 호스트 묶기

INI 형식

$ cat /etc/ansible/inventory.ini
mailserver1

[web]
webserver1
webserver2

[db]
dbserver1

[infra:children]
web
db

 

YAML 형식

mailsever1 는 그룹이 없는 호스트이며, webserver1~2는 web 그룹에, dbserver1은 db 그룹에 속한다.

$ cat /etc/ansible/inventory.yml
all:
  hosts:
    mailserver1:
  children:
    web:
      hosts:
        webserver1:
        webserver2:
    db:
      hosts:
        dbserver1:
    infra:
      web:
      db:

 

테스트

$ ansible web --list-hosts
  hosts (2):
    webserver1
    webserver2
$ ansible db --list-hosts
  hosts (1):
    dbserver1
$ ansible infra --list-hosts
  hosts (3):
    webserver1
    webserver2
    dbserver1

 

 

 

호스트 범위 지정하기

숫자, 알파벳 모두 가능

 

INI 형식

$ cat /etc/ansible/inventory.ini
[web]
webserver[01:20]
webserver2

[db]
dbserver1[01:05]

 

YAML 형식

$ cat /etc/ansible/inventory.yml
...
    web:
      hosts:
        webserver[01:20]:
    db:
      hosts:
        dbserver[01:05]:

 



다음 포스팅에서는 inventory(인벤토리) 변수, aliases, 그룹 변수에 대해 알아보자

반응형

댓글

Designed by JB FACTORY