[Ansible] 1. Ansible 개요 및 설치 방법

2018. 8. 11. 16:04 - mr.november11

[Ansible] 1. Ansible 개요 및 설치 방법

개요

Ansible은 인프라 관리 도구로 관리 대상 서버에 Agent 설치 없이 SSH 기반으로 다량의 서버를 운영할 수 있게 해준다.

일반적으로 운영으로 불리는 영역은

  • 패키지 설치
  • kernel, process 등 현황 현황 확인
  • 파일 다운로드
  • script 배포 및 실행

등이 있다.


Ansible 은 AD-HOC 이라 불리는 일회성 원격 명령어 수행을 지원하며,

YAML언어를 활용한 playbook 작업도 지원한다.

Ansible 설치 및 세팅법

1. pip를 사용한 ansible 설치

Ansible 은 python 기반으로 제공되며 pip 명령어 또는 직접 설치를 통해 쉽게 세팅 가능하다.

앞서 말했듯이 별도의 Agent 를 필요로 하지 않기 때문에 관리용 Management 서버 1대만 설정하면 된다.

pip install ansible

RHEL 이나 Cent OS 의 경우 yum 을 통해서도 설치 가능하다.

yum install ansible

2. inventory 설정

Ansible 에서는 관리 대상의 서버 리스트를 inventory라고 부른다.

inventory는 /etc/ansible/hosts 에 저장되며 서버 그룹과 호스트로 구성된다.

host는 /etc/hosts 에 사전에 등록되어 있어야 이름을 통해 해당 IP로 찾아갈 수 있다.

ex) /etc/ansible/hosts 예제

 

3. inventory 내 server 연결 테스트

ansible 은 ping 모듈을 통해 관리 장비와의 ansible 연동 테스트를 제공한다.

ssh 공개키 설정이 되어 있지 않다면 -k 옵션을 사용하여 password를 수동으로 입력해야 한다.

 

ssh 공개키 설정은

ssh-keygen 으로 공개키 생성 후

ssh-copy-id @server2 로 원격 배포가 가능하다.

공개키 세팅 후에는 -u 나 -k 옵션 없이 ansible 의 ping 체크가 가능하다.

 

마지막으로 ansible 의 setup 모듈을 사용하면 해당 장비의 관련 정보를 수집할 수 있다.

  • 관련정보 : OS 버전, NIC, Partition, Process 정보 등

결과 값은 JSON 형식을 통해 제공된다.

ansible -m setup


[참고 사이트]

https://docs.ansible.com/ansible/2.3/

다른 카테고리의 글 목록

Ansible 카테고리의 포스트를 톺아봅니다