반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 도커
- 클라우드
- 데브옵스
- NGINX
- AWS
- C++
- linux
- centOS7
- 네트워크
- 도커 컨테이너
- Python
- 프로세스
- 리눅스
- swift 클로저
- 쿠버네티스
- boj
- ios
- 부스트코스
- 운영체제
- kubernetes
- devops
- 컨테이너
- Swift
- 도커 이미지
- os
- 인프라
- docker
- k8s
- 도커 명령어
- centOS
Archives
- Today
- Total
귀염둥이의 메모
[Ansible] Ansible 인벤토리(inventory), ansible.cfg 본문
반응형
인벤토리
- Ansible에서 관리할 호스트 목록을 정의
- 단일 호스트 및 그룹 단위로 관리 (중첩 그룹 지원)
- 정적 / 동적 인벤토리 지원
정적 인벤토리
ini
또는yaml
형식 등 사용- 호스트 그룹 사용시 [ ] 로 그룹 이름 지정
- 기본 그룹으로
all
/ungrouped
제공 - :children 접미사를 이용해 중첩 그룹 지정 가능
- 범위 지정 방식으로 간편한 구성 가능
--list-hosts
옵션으로 확인 가능
정적 인벤토리에 관리 해당 호스트 지정하기
호스트 네임, 풀 네임 지정
mkdir test
cd test
vi inventory.ini
host1
10.0.2.22
localhost
범위(range)로 호스트 이름 지정
vi range.ini
host[1:2] ✅ host1, host2를 지정한 것과 같음
그룹으로 호스트 지정
vi group.ini
10.0.2.23 ✅ ungrouped (미지정)
[web] ✅ web 그룹
host1
host2
[db] ✅ db 그룹
foo.example.com
10.0.2.10
하위 그룹 지정
vi group.ini
10.0.2.23 ✅ ungrouped (미지정)
[web] ✅ web 그룹
host1
host2
[db] ✅ db 그룹
foo.example.com
10.0.2.10
[linux]
1.2.3.4
[linux:children] ⭐️ linux 그룹의 하위 그룹 (db)
db
인벤토리 호스트 참조 (다중 그룹 지정, ! , &)
web
그룹과db
그룹 출력
'linux :! db'
- linux 그룹에 속하고db 그룹에는 없는 호스트 (not)
'web :&db'
- web 그룹과 db 그룹 둘다 포함된 호스트 (**and)**
Ansible 구성 파일
/etc/ansible/ansible.cfg
~/.ansible.cfg
./ansible.cfg
- 해당 순서대로 읽어온다 (우선 순위는 역순)
ANSIBLE\_CONFIG
환경 변수로 구성 파일의 위치를 정의 (유연한 관리)ansible --verison
또는 명령어 사용시-v
옵션으로 확인
구성 파일의 설정 관리
- 각 섹션에 key-value 쌍으로 정의된 설정
- [defaults] : Ansible 작업의 기본값을 설정
- [privilege_escalation] : 권한 에스컬레이션을 수행하는 방법 구성
지시문 | 설명 |
inventory | 인벤토리 파일의 경로 지정 (복수 선택 가능) |
remote_user | 관리 호스트에 로그인할 사용자의 이름 |
ask_pass | ssh 암호를 요청하는 메시지 표시 여부 |
become | 관리 호스트에서 자동으로 사용자를 전활할지 여부 |
become_method | 사용자 전환 방식 |
become_user | 관리 호스트에서 전환할 사용자 |
become_ask_pass | become_method의 암호를 요청하는 메시지 표시 여부 |
vi ansible.cfg
[defaults]
inventory =./range.ini
remote_user = study
ask_pass = false (또는 no)
[privilege_escalation]
become = true (또는 yes)
become_user = root
become_method = sudo
- 자동으로 현재 디렉터리의
ansible.cfg
를 적용,inventory = ./range.ini
range.ini
의host1
과host2
에게 핑을 보냈다
참고자료
https://docs.ansible.com/ansible/latest/user_guide/intro_patterns.html#intro-patterns
반응형
'Infra & Devops > Ansible' 카테고리의 다른 글
[Ansible] Ansible 설치, 패스워드 없이 접속 (0) | 2021.09.06 |
---|---|
[Ansible] Ansible이란? (0) | 2021.09.06 |
Comments