본문 바로가기
DevOps/Ansible

Ansible 작동방식

by ssyeon 2022. 12. 19.

오픈소스 기반의 자동화 관리 도구로 하나의 중앙 위치에서 여러 서버를 관리하고 제어한다. 

SSH통신으로 호스트 서버에 접근한다.

 

장점

  • 수행해야하는 반복적인 작업이 있을 때 사용하기 적합하다.
  • 특정환경을 동일하게 만들 수 있다.
  • 호스트 서버에 에이전트를 설치할 필요가 없다.

 

1) Controller 서버

ansible이 설치된 서버

 

 

 

2) 인벤토리

호스트 서버들의 목록

/etc/ansible/hosts 파일에 위치해 있음

https://runebook.dev/ko/docs/ansible/user_guide/intro_inventory

 

 

 

3) playbook

호스트 서버에 전달할 명령어들을 모아둔 명령어집

즉, 스크립트 파일을 말함

 

yaml/yml 파일 형식으로 되어 있으며 ansible playbook을 이용하면 멱등성이 보장된다.

멱등성 = 동일한 명령어를 반복적으로 수행하더라도 한번 명령어가 실행되었을 때와 동일한 결과가 나타난다

 

playbook은 하나 혹은 하나 이상의 play를 갖고 있고,각각의 play는 하나 이상의 tasks을 

실행한다 

 

3개의 하이픈 (-) 으로 시작한다
name 어떤 playbook인지 설명
hosts playbook이 실행될 대상
become 특정 사용자로 전환할지 여부
true = 루트권한 사용 O
false = 루트권한 사용 X
tasks 수행할 작업 
  • tasks는 name을 가지고 있어야 함
  • 하나의 task는 하나의 모듈만 실행 가능함
  • 여러개의 tasks로 구성이 가능하며 순차적으로 실행

 


 

 

연결 방법

RSA암호화 

암호화와 인증을 할 수 있는 공개 키 암호 시스템

 

  1. 키를 생성 [private key / public key]
  2. 호스트 서버에 public key를 복사한다
  3. Controll 서버에서 호스트 서버로 ssh 접속한다
  4. 호스트 서버에서 public key로 암호화 된 정보를 controll서버에 전달한다

controll 서버에서 암호화된 정보를 private key를 이용해 해독한다








반응형

'DevOps > Ansible' 카테고리의 다른 글

Ansible 기본  (0) 2022.04.21
[Ubuntu] Ansible-Playbook log 저장하기  (0) 2022.03.24
[Ubuntu] Redis start/stop Playbook  (0) 2022.01.25
[Ubuntu] mongoDB start/stop Playbook  (0) 2022.01.18
[Ubuntu] playbook 만들기 - update, reboot, stop  (0) 2022.01.11

댓글