일단은 프로그래머 나부랭이

Ansible 사용 방법 본문

Linux

Ansible 사용 방법

하필이면 도대체가 2019. 7. 10. 18:27

본 글은 centos 7을 기준으로 작성된 글 입니다.

Ansible이란?
(서버 관리자의 입장에서는 굉장히 필요한 프로그램이다.)
ansible은 여러 linux 장비에 동일한 명령을 수행하고자 할 때 사용된다.
명령어 한줄만 수행하면, 모든 장비에서 동일한 명령을 수행한다.
고로, 장비 관리가 매우 편리해진다.

설치
yum install ansible

사용법
/etc/ansible/hosts 파일에 host정보를 등록한다.
등록 양식은 아래와 같다
<장비명> ansible_host=<ip주소> ansible_user='<접속 계정명>' ansible_ssh_pass='<계정 pw>' ansible_connection='ssh' (ssh 접속임을 명시, 다른 접속 방식은 확인하지 못함)
※ <>에 적힌 내용을 기재하되, 꺽쇠기호는 빼도록 한다.

만약, 장비를 특정 그룹으로 묶어서 관리하고 싶다면 아래처럼 등록하도록 한다.
----------------------------------------------------------------------------------------------------------------------------
[group 1]
linux01 ansible_host=192.168.0.x ansible_user='root' ansible_ssh_pass='root_pw' ansible_connection='ssh'
linux02 ansible_host=192.168.0.x ansible_user='root' ansible_ssh_pass='root_pw' ansible_connection='ssh'

[group 2]

linux03 ansible_host=192.168.1.x ansible_user='root' ansible_ssh_pass='root_pw' ansible_connection='ssh'
linux04 ansible_host=192.168.1.x ansible_user='root' ansible_ssh_pass='root_pw' ansible_connection='ssh'

----------------------------------------------------------------------------------------------------------------------------
※ 참고로 장비를 등록하는 다른 방법이 있으나, 직접 사용해보지 못하여 기술하지 않습니다.

확인 방법
ansible <그룹명 || 등록한 장비명 || 전체는 all> -m ping 으로 확인이 가능하다.
SUCCESS 라는 내용이 출력되면 정상적으로 등록이 된 것이다.

명령 하달 방법
ansible <그룹명 || 등록한 장비명 || 전체는 all> -m command -a "수행할 명령어"
가령 yum update 같은 명령도 수행이 가능하며, 수행 결과까지 보여준다.
다만, 장비가 많고, 결과 내용이 긴 경우에는 스크롤 압박이 좀 있다.


불편한점
1. top과 같은 일부 시스템 명령어는 수행할 수 없다.
2. 전체 장비가 동시에 명령을 수행하는 것이 아닌, 등록된 장비들이 순차적으로 수행하게 된다. (순서는 랜덤)
   그래서 장비가 여러대이고, yum update와 같이 오래 수행되는 명령을 수행할 경우, 전체 장비가 update를 진행하기까지 굉장히 오랜 시간이 걸린다. (경우에 따라선 하나씩 ssh로 접속해서 수행하는게 빠를 수도 있다.)
3. 다중 명령(mulit command) 수행이 불가능하다. (차후에는 지원해줄지도 모른다.)
   ex : 'ps'는 수행이 가능하지만, 'ps | grep *' 수행이 안된다.

 

p.s : ansible은 여기에 기록된 기능 이외에도 모듈을 통해 지원하는 기능들이 많다고 합니다.

'Linux' 카테고리의 다른 글

linux 해킹 여부 확인 방법  (0) 2019.12.06
리눅스 심볼릭 링크 생성  (0) 2019.10.22
리눅스 시간 동기화  (0) 2019.06.22
centos7 방화벽 설정  (0) 2019.03.06
(리눅스) iperf3을 이용한 인터넷 속도 측정  (0) 2019.03.06

Comments