아래 명령어로 ansible 설치 (Ubuntu 기준)
// 패키지 설치
sudo apt-get update sudo
apt-get install apt-transport-https wget gnupg
// Ansible 레포지토리에 추가
sudo apt-add-repository ppa:ansible/ansible
//ansible 설치
apt-get update
apt-get install ansible
// 설치 확인
ansible --version
ansible은 다루고자 하는 호스트들의 정보를 ~/etc/ansible/hosts 에 저장할 수 있음. 하여 아래와 같이 본인이 다루고자 하는 호스트들의 ip를 넣어준다.
(devops라는 그룹에 묶인 두개의 호스트들)
그리고 이제 기본적인 테스트들을 해보자.
1. ansible all -m ping
: all은 모든 그룹에 적용하겠는 거임. 모든 그룹에 ping을 날려보았다.
2. ansible all -m shell -a "free -h"
: shell 스크립트를 실행시킨다. 메모리의 상태를 알 수 있는 "free-h"를 실행해봄
3. ansible all -m copy -a "src=./text.txt dest=/tmp"
: 파일 전송. ansible 서버의 ~/text.txt 파일을 대상 서버의 /tmp에 전송
이번에는 ansible playbook을 사용해볼 것이다. playbook은 yml파일로 playbookd을 만들어 두고 언제든 실행할 수 있는 것이다.
위와 같이 first-playbook.yml 이라는 이름으로 ansible서버(자기 자신)에 mygroup의 호스트 그룹을 추가하는 명령을 했다.
이를 실행하는 법은 매우 간단하다.
ansible-playbook [playbook 파일 명]
성공하면 아래와 같다.
이번에는 playbook으로 파일 복사를 해보자.
devops 그룹의 호스트들에게 sample.txt 파일을 /tmp 디렉토리에 복사한다.
참고: