[ansible] inventory(인벤토리) 작성법-①
- IT2/ansible
- 2023. 1. 29. 12:22
반응형
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, 그룹 변수에 대해 알아보자
반응형
'IT2 > ansible' 카테고리의 다른 글
[ansible] playbook 개념/작성/예시 (0) | 2023.02.12 |
---|---|
[ansible] yaml(yml)을 위한 vi(vim) 꿀팁 설정 (0) | 2023.02.11 |
[ansible] playbook 작성/실행 - SSH Public key 배포 (ssh-key 교환 방법) (0) | 2023.01.29 |
[ansible] ping 테스트 실패 (Failed to connect to the host via ssh: Permission denied) 해결 방법 (0) | 2023.01.28 |
[ansible] 설치 및 기본 사용법 (ssh-key 교환 포함) (0) | 2023.01.27 |