Корак 1: Креирање ИАМЛ (.имл) датотеке
Корак 2: Разумевање приручника: задаци и руковаоци
Корак 3: Извођење приручника
Приручници у Ансиблеу су оно што Ансибле чини тако згодним. Плаибоокс омогућавају извршавање рутинских задатака са неколико модула. Када треба да користимо свеске?
Хајде да погледамо задатак рутинског одржавања: ажурирање сервера. Не бисмо морали да користимо приручник за ово, с обзиром да је то само једна команда: apt-get update. Могли бисмо користити само једну једину команду за ажурирање софтвера на свим нашим серверима. Међутим, за постављање нечега попут веб сервера или сервера базе података потребно је више посла: не само једна команда. Приручници су савршени за овај случај. Они вам омогућавају да користите више модула, а то су команде које се могу извршити на серверу. На пример, постоје модули за копирање датотека и извођење команди љуске преко ССХ-а.
Па како да користимо свеске? Хајде да почнемо!
Корак 1: Креирање ИАМЛ ( .yml) датотеке
Ансибле плаибоокс су написани као .ymlдатотеке; Ансибле не може да тумачи друге формате. Пример Ансибле плаибоок-а изгледа овако:
---
- hosts: webservers
vars:
http_port: 80
max_clients: 200
remote_user: root
tasks:
- name: ensure apache is at the latest version
yum: pkg=httpd state=latest
- name: write the apache config file
template: src=/srv/httpd.j2 dest=/etc/httpd.conf
notify:
- restart apache
- name: ensure apache is running (and enable it at boot)
service: name=httpd state=started enabled=yes
handlers:
- name: restart apache
service: name=httpd state=restarted
(Преузето из Ансибле-ове документације)
Корак 2: Разумевање приручника: задаци и руковаоци
Као што видите, у овој свесци постоји више одељака. Прво, видећете hosts:линију. Ово одређује на којим хостовима треба да се изврши плаибоок. Такође можете видети да смо дефинисали неколико варијабли којима се може приступити и користити у целом приручнику. Тада ћете видети неколико задатака. Ови задаци би се могли назвати нешто попут „Инсталирај Апацхе“, на пример. Други задатак у примеру пише у Апацхе конфигурацију. Тада ћете видети следеће:
notify:
- restart apache
Ово говори задатку да изврши одређени руковалац. У овом случају, то се односи на руковалац restart apache, који се може наћи на дну приручника:
handlers:
- name: restart apache
service: name=httpd state=restarted
Руковаоци су згодни јер, узимајући пример, можда ћете желети да поново покренете Апацхе више пута. У овом случају, не морате да понављате креирање задатка сваки пут када вам је потребно да поново покренете Апацхе, али уместо тога, можете само да се позивате на исти руковалац сваки пут.
Корак 3: Извођење приручника
Рецимо да желите да примените Апацхе сервер. Па, као што видите, управо смо направили приручник за то. Извршавање плаибоок-а може се обавити коришћењем ansible-playbookкоманде. На пример, ако бисмо извршили овај приручник на свим серверима у webserversкатегорији (требаћете да имате ову категорију у вашој /etc/ansible/hostsдатотеци), покренули бисте следећу команду с обзиром да је име ваше датотеке са игром apache.yml:
ansible-playbook -i webservers apache.yml
Честитам! Сада сте извршили плаибоок на свим серверима у вашој webserversкатегорији. Сада ћете само морати да сачекате да се имплементација заврши и видећете да је Апацхе успешно инсталиран и конфигурисан на овим серверима.