일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- deployment
- DaemonSet
- Python
- AWS Security Hub
- Amazon Route 53
- Terraform state
- k8s
- Heartbleed
- ReplicaSet
- Amazon GuardDuty
- Terraform
- Amazon RDS
- Backend
- Industry Week 2023
- Amazon VPC
- SSL 인증서
- mariaDB
- docker
- Cognito
- taint
- Kubernetis
- AWS EC2
- classmethod
- CI CD
- Amazon DynamoDB
- staticmethod
- AWS
- ansible
- ConfigMap
- DevOps
- Today
- Total
Nubes et Stella
Ansible #02 (Inventory/Ad-hoc CMD) 본문
01. Inventory
서버 형상 관리를 위한 대상 서버 호스트를 관리하는 파일이며, 하나의 파일안에 앤서블이 관리하게 될 서버 정보들이 존재한다. 그 외에 그룹 기능 지원(리눅스 그룹, 윈도우 그룹) 하며 현업에서는 서버군을 프로덕션 레벨에 따라서 분리 하여 사용한다.
인벤토리는 크게 아래 두 종류로 나뉘게 된다. (여기서는 정적 인벤토리만 다룬다.)
- static inventory : 정적 인벤토리
- dynamic inventory : 동적 인벤토리
Type1 ) 기본적인 형태 (IP / 도메인 형식)
** 인벤토리 파일의 확장자는 따로 정해져 있지 않음
Type2 ) 그룹핑
- [그룹명] 을 지정하고 그 아래 호스트 정보 기입
- 디폴트값으로 "ALL"이 존재하며 모든 그룹을 뜻한다.
Type3 ) 별칭
- "[별칭] ansible_host=[IP / 도메인]" 형식으로 설정
- 별칭 명은 고유해야 한다.
Type4 ) 변수 추가
- ansible_user 변수는 호스트의 접속계정 정보
- "[그룹명:childern]" 형태로 하위에 그룹을 두는 형식으로 쓸 수도 있다.
02. Ad-hoc CMD
플레이북과 같이 사전 설정 정보 없이 명령어를 통해서 특정 앤서블 모듈을 호출하여 실행하는 방식이다. 명령어를 실행하는 방식이기 때문에 간단하지만 재사용이 어렵다. 때문에 주로 테스트 목적으로 사용된다.
형태 : #ansible [host-pattern] [-m module] [-a 'module options' ] [-i inventory]
[예시 1]
ansible all -m ping -i amazon.inv -u ec2-user --private-key [프라이빗 키 경로]
all : 인벤토리의 모든 호스트
-m ping : ping 모듈 사용 (ping : 대상 호스트에 연결 후 파이썬 사용 가능여부 확인하는 모듈)
-i amazon.inv : 인벤토리 파일 지정
-u ec2-user : 대상 호스트의 접속 계정 지정
--private-key [경로] : Openssh 접속을 위한 프라이빗 키 지정
[예시 2]
ansible ubuntu -m command -a "uptime" -i vars.inv --private-key [프라이빗 키 경로]
-m command : command 모듈 사용 (대상 호스트에서 명령어 실행하는 모듈)
-a "uptime" : 모듈 옵션 (uptime command 실행)
[예시 3]
#ansible ubuntu -m apt -a "name=git state=latest update_cache=yes" -i vars.inv --become --private-key [프라이빗 키 경로]
-m apt : apt 모듈 사용 (패키시 설치 모듈)
-a "name=git state=latest update_cache-yes" : 최신 버전의 git 설치
- END -
'DevOps > Ansible' 카테고리의 다른 글
Ansible #01 (0) | 2023.11.27 |
---|