Network/Ansible

Ansible - 설치 및 기본 사용법

잇(IT) 2022. 7. 17. 17:15
728x90

1. Ansible 설치 

 

* CentOS 기준

yum -y install epel-release

- ansible을 설치해주기 이전에 epel-release 레포지토리를 설치해줘야 한다. (이곳에 ansible이 있다.)

 

amazon-linux-extras install epel

- amazon EC2를 사용할 경우 위와 같이 설치해준다.

 

yum install ansible -y

- ansible을 설치해준다.

 

ansible --version

- 정상적으로 설치가 되었는지 확인하기 위해 version을 확인한다.


vi /etc/ansible/hosts

- ansible을 통해 제어 할 호스트를 결정하는 데 사용되는 파일이다.

 

* ansible을 통해 원격 host에 명령을 내리기 위해선 해당 원격지에 ssh 접속이 가능해야 하기 때문에 명령을 내리는 host에 private 키가 있어야 하고 그에 해당하는 public 키가 명령을 내릴 원격지 host에 있어야 한다.

 

ansible all -m ping

- 원격지 host와 연결이 되어 있는지 확인하기 위해 ping 통신을 해본다. 키 페어가 양쪽에 대칭하게 존재한다면 정상적으로 ping이 갈 것이다.

 

* ad-hoc 방식

- ad-hoc 방식은 playbook을 작성하지 않고 command-line에서 직접 ansible 모듈을 호출해서 실행하는 방식이다.

 

- 우선 임의의 txt 파일을 하나 생성하여 내용을 작성한다.

 

ansible all -m copy -a "src=./test.txt dest=~/test.txt"
  • -m : ansible에서 정의한 모듈명, 자주 쓰는 모듈은 아래와 같다.
    • copy : 파일 복사
    • yum : rpm 패키지 설치
    • firewalld : 방화벽 설정
    • reboot : 재부팅
    • service: 서비스 관리
    • user : 사용자 계정 관리
  • - a : 플러그인의 아규먼트
  • -k : ansible 실행 시 비밀번호 검증
  • -K : ansible 실행 시 root 권한으로 수행

- all : /etc/ansible/hosts에 작성된 모든 원격지에 명령을 내리겠다는 의미다.

- 현재 명령을 내리는 호스트 경로에 있는 해당 파일을 원격지 호스트에 복사하겠다는 의미이다.

 

- 원격지에 접속하여 확인해보면 해당 파일이 그대로 복사된 것을 확인할 수 있다.

 

 

728x90