앞에서 playbook을 사용하는 것을 살짝 맛봤는데,
이번에는 조금 더 진보된 playbook을 작성해서 사용해보자.
1. 새로운 playbook 작성
- "apt-get upgrade"를 실행시키기 위한 playbook이다.
$ nano ./apt-upgrade.yml
- hosts: all
tasks:
- name: Update and upgrade apt packages
become: true
apt:
upgrade: yes
update_cache: yes
cache_valid_time: 86400 #One day
2. 설명....
- hosts: all → hosts 파일에 등록된 모든 아이들에게 실행하라는 의미
- tasks → 해야할 일을 적겠다라는 의미
- name → 해야할 일을 설명? 하기 위해서 적어주는 내용
- become: true → sudo 권한으로 일을 하겠다라는 의미
- apt: → apt와 관련된 모듈을 사용하겠다라는 의미
- upgrade: yes → "apt-get upgrade" 명령과 같은 의미
- update_cache ... cache_valid_time → "apt-get update"를 실행하는데, 하루 이내라면 생략~
3. apt 모듈과 관련되어서 더 알고 싶다면 아래 링크 참조
- http://docs.ansible.com/ansible/apt_module.html
4. 그러면 일단 실행 !!!
$ ansible-playbook ./apt-upgrade.yml
PLAY [all] *************************************************************************************
TASK [Gathering Facts] ***********************************************************************
ok: [192.168.100.105]
TASK [Update and upgrade apt packages] **************************************************
fatal: [192.168.100.105]: FAILED! => {"changed": false, "failed": true, "msg": "Could not find aptitude. Please ensure it is installed."}
to retry, use: --limit @/srv/workspace/ansible/apt-upgrade.retry
PLAY RECAP **********************************************************************************
192.168.100.105 : ok=1 changed=0 unreachable=0 failed=1
- 어?! 에러가 발생했다. "Could not find aptitude. Please ensure it is installed."
5. aptitude가 필요한 노예 !!!
- 주인의 말을 제대로 알아듣기 위해서는 노예(slave)에게 aptitude 패키지를 설치해줘야 한다.
$ sudo apt-get install
- 아니면 이마저도 ansible을 통해 설치해볼 수도 있다.
$ nano ./install-aptitude.yml
- hosts: all
tasks:
- name: install aptitude
raw: sudo apt-get -y install aptitude
$ ansible-playbook ./install-aptitude.yml
PLAY [all] *************************************************************************************
TASK [Gathering Facts] ***********************************************************************
ok: [192.168.100.105]
TASK [install aptitude] ************************************************************************
changed: [192.168.100.105]
PLAY RECAP **********************************************************************************
192.168.100.105 : ok=2 changed=1 unreachable=0 failed=0
6. 이제 다시 실행해보자.
$ ansible-playbook ./apt-upgrade.yml
PLAY [all] *************************************************************************************
TASK [Gathering Facts] ***********************************************************************
ok: [192.168.100.105]
TASK [Update and upgrade apt packages] **************************************************
ok: [192.168.100.105]
PLAY RECAP **********************************************************************************
192.168.100.105 : ok=2 changed=0 unreachable=0 failed=0
이제서야 ansible 에 대해서 조금 감이 온다!
여러분도???? ^^
이제 실무에 사용하기 위해서 필요한 것들이 뭔가 더 없을지 알아봐야겠다.
'Dev Tools' 카테고리의 다른 글
네트워크(인터넷) 속도 측정 사이트 목록 (0) | 2023.11.13 |
---|---|
ElasticSearch and MetricBeat (in Ubuntu 16.04 64bit) (0) | 2018.11.18 |
Ansible Source Build Install (Ubuntu 14.04) (0) | 2017.07.16 |
Ansible 두번째 발걸음 (playbook 맛보기) (0) | 2017.07.15 |
Ansible 처음으로 사용해보기 (0) | 2017.07.02 |