Hapi 1: Krijimi i një skedari YAML (.yml).
Hapi 2: Kuptimi i librave të lojërave: detyrat dhe trajtuesit
Hapi 3: Ekzekutimi i librave të lojërave
Librat e lojërave në Ansible janë ato që e bëjnë Ansible kaq të dobishëm. Librat e lojërave lejojnë ekzekutimin e detyrave rutinë me disa module. Kur duhet të përdorim librat e lojërave?
Le të hedhim një vështrim në një detyrë rutinë të mirëmbajtjes: përditësimin e serverëve tuaj. Ne nuk do të duhej të përdorim një libër lojërash për këtë, duke qenë se është vetëm një komandë: apt-get update. Ne mund të përdorim vetëm një komandë të vetme për të përditësuar softuerin në të gjithë serverët tanë. Sidoqoftë, për vendosjen e diçkaje si një server në internet ose bazë të dhënash, nevojitet më shumë punë: jo vetëm një komandë e vetme. Librat e lojërave janë prefektë për këtë rast. Ato ju lejojnë të përdorni module të shumta, të cilat janë komanda që mund të ekzekutohen në një server. Për shembull, ka module për kopjimin e skedarëve dhe kryerjen e komandave të guaskës mbi SSH.
Pra, si i përdorim librat e lojërave? Le të fillojmë!
Hapi 1: Krijimi i një skedari YAML ( .yml).
Librat e thjeshtë të lojërave janë shkruar si .ymlskedarë; Ansible nuk mund të interpretojë formate të tjera. Një shembull i librit të lojërave Ansible duket si ky:
---
- 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
(Marrë nga dokumentacioni i Ansible)
Hapi 2: Kuptimi i librave të lojërave: detyrat dhe trajtuesit
Siç mund ta shihni, ka shumë seksione në këtë libër lojërash. Së pari, do të shihni hosts:linjën. Kjo përcakton se në cilat hoste duhet të ekzekutohet libri i lojës. Ju gjithashtu mund të shihni se ne kemi përcaktuar disa variabla që mund të aksesohen dhe përdoren në të gjithë librin e lojërave. Më pas do të shihni një sërë detyrash. Këto detyra mund të quhen diçka si "Instalo Apache", për shembull. Detyra e dytë në shembull i shkruan konfigurimit Apache. Më pas do të shihni sa vijon:
notify:
- restart apache
Kjo tregon një detyrë për të ekzekutuar një mbajtës të caktuar. Në këtë rast, i referohet mbajtësit restart apache, i cili mund të gjendet në fund të librit të lojërave:
handlers:
- name: restart apache
service: name=httpd state=restarted
Trajtuesit janë të përshtatshëm sepse, duke marrë shembullin, mund të dëshironi të rinisni Apache disa herë. Në këtë rast, nuk keni pse të përsërisni krijimin e një detyre për çdo herë që ju duhet të rinisni Apache, por në vend të kësaj, mund t'i referoheni të njëjtit mbajtës çdo herë.
Hapi 3: Ekzekutimi i librave të lojërave
Thuaj se dëshiron të vendosësh një server Apache. Epo, siç mund ta shihni, ne sapo kemi krijuar një libër lojërash për këtë. Ekzekutimi i librave të lojërave mund të bëhet duke përdorur ansible-playbookkomandën. Për shembull, nëse do ta ekzekutonim këtë libër lojërash në të gjithë serverët e webserverskategorisë (ju duhet ta keni këtë kategori në /etc/ansible/hostsskedarin tuaj ), do të ekzekutoni komandën e mëposhtme duke pasur parasysh se emri i skedarit të librit tuaj të luajtjes është apache.yml:
ansible-playbook -i webservers apache.yml
urime! Tani keni ekzekutuar një libër lojërash në të gjithë serverët në webserverskategorinë tuaj . Tani do t'ju duhet vetëm të prisni që vendosja të përfundojë dhe do të shihni që Apache është instaluar dhe konfiguruar me sukses në këta serverë.