# 정적 인벤토리
관리노드의 목록을 가지고 있는 파일, 인벤토리 해당되는 호스트가 없으면 앤서블로 작업을 할 수 없다.
반드시 인벤토리가 존재 해야한다
/etc/ansible/hosts가 기본 인벤토리 파일 -> 직접 사용하지 않는다
인벤토리 파일의 위치는 설정파일이 지정한다
설정파일에서 지정한 위치가 아닌 인벤토리 파일 위치를 지정하고 싶다면 -i 옵션을 사용해 지정 , 인벤토리가 있는 디렉토리를 지정해도 된다.
직접 인벤토리 파일을 작성하는것을 정적 인벤토리라고 한다.
정적 인벤토리는 INI 파일이나 YAML 파일 형식으로 구성 할 수 있는데 일반적으로 INI 형식을 많이 쓴다.
INI 형식은 작성하기 쉽고 유연하다. 설정파일에 가장 많이 사용된다
# INI 파일의 형식
[ ] section : 앤서블에서는 그룹이라고 한다
패턴에 그룹을 지정하게 되면 그룹네 있는 모든 호스트에 작업이 실행된다
섹션이 다르면 변수값이 분리가 된다
값 string에 대한 value는 변수=value
*.example.com -> host
mail.example.com 그룹이 없는 host
사용자가 작성한 인벤토리가 잘 작동을 하는지 확인하는법
Ad-hop 커맨드에서 --list-hosts 사용
설정파일이 없다 -> 인벤토리 파일 지정을 해주지 않았기 때문이다 ( 기본파일은 아무것도 안들어있음 )
확인
all 기본으로 모든 호스트가 들어있는 그룹
ungrouped 그룹이 없는 호스트
# YAML 파일의 형식
야믈 형식으로 선언
그룹 밑에 그룹이 있을 경우 children 이라는 지시어를 사용한다
children 밑에는 그룹이 들어와야한다
사용자가 작성한 인벤토리가 잘 작동을 하는지 확인
ini파일과 yaml 파일 비교
그룹 밑에 그룹이 있을 경우 children 이라는 지시어를 사용한다
children 밑에는 그룹이 들어와야한다
host는 여러 그룹에 들어갈수있다
중첩그룹을 통해서 인벤토리를 단순화 시킨다
# 호스트의 범위 지정
www.example.com
= ww[1:50].example.com or www[1:50:2].example.com
# 인벤토리 확인
계층적인 형태로 인벤토리 파일을 보여준다
@ =그룹명
jason 형식으로 인벤토리를 보여준다
변수가 출력 된다
53 history
54 ansible
55 ssh 192.168.200.101
56 vi a.ini
57 clear
58 cat a.vi
59 cat a.ini
60 ansible --list-hosts mail.example.com
61 ansible --list-hosts -i a.ini mail.example.com
62 ansible --list-hosts -i a.ini 192.168.56.51
63 ansible --list-hosts -i a.ini webservers
64 ansible --list-hosts -i a.ini all
65 ansible --list-hosts -i a.ini ungrouped
66 history
67 vi a.yaml
68 cat a.yaml
69 ansible --list-hosts -i a.yaml all
70 ansible --list-hosts -i a.yaml ungrouped
71 ansible --list-hosts -i a.yaml webservers
72 cat a.ini
73 cat a.yaml
74 vi a.ini
75 cat a.ini
76 ansible --list-hosts -i a.ini web
77 clear
78 ansible-inventory
79 clear
80 ansible-inventory -i a.ini --graph
81 ansible-inventory -i a.ini --list
82 ansible-inventory -i a.ini --host one.example.com
83 history
'클라우드 > 앤서블(Ansible)' 카테고리의 다른 글
앤서블 Ansible 구성파일 / 관리노드 연결 (0) | 2021.07.28 |
---|---|
앤서블 Ansible AWS 동적 인벤토리 (0) | 2021.07.28 |
앤서블 Ansible 동작 원리 (0) | 2021.07.27 |
앤서블 Ansible 이란? / Ansible 용어 (0) | 2021.07.27 |
앤서블 Ansible 설치 (0) | 2021.07.27 |