마짱짱의 지식창고

[Ansible] 0. Ansible 이란? 본문

Automation/Ansible

[Ansible] 0. Ansible 이란?

마짱짱 2020. 8. 5. 11:22
반응형

 

앤서블 이란?

  - 어플리케이션을 원격노드에 배포하고 반복적으로 서버를 프로비저닝하는데 사용되는 오픈소스 도구

  - 플레이북 기반으로 동작

 

---

장점 및 단점

  장점

1. SSH 기반이므로 원격노드에 Agent를 설치 할 필요 X
2. YAML 언어
3. 간단하고 명확한 구조
4. 변수 기능을 사용하여 같은 작업에 대해서 다른 구성으로 쉽게 구성 가능
5. 다른 도구에 비해 훨씬 간소화 된 코드 기반

  단점

1. 프로그래밍언어를 기반으로  하는 도구보다 덜 강력함
2. DSL 을 통해 로직 수행     *DSL은 학습할 때 까지 문서를 자주 확인 하는 것을 의미
3. 변수 등록은 기본적인 기능 조차 요구되기 때문에 더 쉬운 작업을 복잡하게 만들 수 있다.
4. 플레이 내 변수의 값을 확인하기 어렵다.
5. 입출력, 구성파일의 형신 간에 일관성이 없다.
6. 때때로 성능 저하

---

기본용어

  1. 컨트롤 머신

    - 시스템 관리자는 컨트롤 머신에 Ansible을 설치하고 원격으로 관리 노드들을 제어

  2. 관리 노드

    - 컨트롤 머신에서 접근하고 모듈을 설치하고, 원격의 명령을 실행하는 작업을 수행하는 시스템

    - SSH 필요

  3. 연결 플로그인

    - 컨트롤 머신이 관리 노드에 연결할 때 사용하는 방법

    - Default : SSH

  4. 인벤토리

    - 호스트가 속해 있는 그룹을 정의

    - 컨트롤 머신이 관리 노드와 통신하는 방법을 정의 할 수 있으며 호스트 및 그룹 변수까지 지정 가능

  5. 모듈

    - 관리 노드에서 실행되는 명령, 컨트롤 머신에 존재하는 모듈이 관리 노드에 복사되어 관리 노드에서 실행

  6. 작업

    - 하나 이상의 모듈의 집합, 플레이북에서 작업에 모듈을 지정하여 지정된 관리 호스트에 다수의 모듈을 실행 할 수 있다.

  7. 플레이북

    - 관리 노드에서 실행할 모듈을 인자와 함께 정의한 파일

    - 이 파일은 YAML 로 작성, 여러개의 플레이 라는 단위로 나뉠 수 있따.

---

Ansible Architecture

출처 : https://www.educba.com/ansible-architecture/

반응형