Print
카테고리: [ Cloud Computing & MSA ]
조회수: 143

A. Ansible ??

-. IT 자동화 도구.

-. CD(지속 배포)나 down time 제로 업데이트와 같이 고급 IT 작업을 조정

-. Ansible은 에이전트 없이 시스템을 관리함.

 

B. [ 사용하기 전 개념 공부 ]

  1. Control node
    Ansible이 설치된 모든 시스템을 control node라고 함.
    어떤 제어 노드에서든 /usr/bin/ansible 또는 /usr/bin/ansible-playbook 을 호출하여 command와 playbook을 실행할 수 있음.
    * Python이 설치 돼 있다면 어떤 컴퓨터든control node로 사용 가능.

  2. Managed nodes
    Ansible로 관리하는 네트워크 장치
    관리되는 노드는 때로 host 라고도 한다. Managed nodes에 ansible이 설치 돼 있지는 않다.
  3. Inventory
    관리되는 노드의 목록.
    때로 host file이라고 함. 인벤토리에는 관리 될 노드에 대한 IP주소와 같은 정보를 지정할 수 있음.
  4. Modules
    Ansible 코드 실행 단위.
    Task로 단일 모듈을 호출하거나, playbook에서 여러 다른 모듈을 호출 할 수 있음.
  5. Tasks
    Ansible의 작업 단위.
  6. Playbooks
    반복해서 실행하고자 해당 작업을 실행 순서대로 저장해 놓은 정렬된 task list
    Playbook에는 task뿐 아니라 변수도 포함할 수 있다.
    YAML형식으로 작성 돼있음.

C. [설치]

Control node 요구사항

Managed node 요구사항

Ansible 2.10 부터는 두가지 아티팩트가 배포된다.
요구사항에 맞추어 설치할 것.

  1. Community 패키지(ansible)
  2. Ansible-core(minimalist language and runtime)

=======================================================그럼 시작해봅시다..========================================================

설치 후 아래와 같이 확인되면 정상.
ubuntu@ip-172-31-7-112:~$ ansible localhost -m ping

localhost | SUCCESS => {

    "changed": false,

    "ping": "pong"

}