Yadda Ake Amfani da Littattafan Wasan Wasan Wasan Wasan Wasan Wasan Kwaikwayo Don Ɗauki Haɗin Kai akan Sabar Maɗaukaki Mai Nisa - Kashi Na 2


A cikin labarin da ya gabata na wannan jerin Mai yiwuwa, mun bayyana cewa Mai yiwuwa kayan aiki ne mara izini wanda ke ba ku damar sarrafa injuna da sauri da inganci (wanda kuma aka sani da nodes - da kuma aiwatar da tura su) daga tsarin guda ɗaya.

Bayan shigar da software a cikin na'ura mai sarrafawa, ƙirƙirar maɓallan don shiga mara kalmar sirri da kwafa su zuwa nodes, lokaci ya yi da za a koyi yadda za a inganta tsarin sarrafa irin wannan tsarin mai nisa ta amfani da Mai yiwuwa.

A cikin wannan labarin, da kuma na gaba, za mu yi amfani da yanayin gwaji na gaba. Duk runduna akwatunan CentOS 7 ne:

Controller machine (where Ansible is installed): 192.168.0.19
Node1: 192.168.0.29
Node2: 192.168.0.30

Bugu da kari, da fatan za a lura cewa an ƙara nodes biyu a cikin sashin sabar gidan yanar gizo na fayil na gida /etc/ansible/hosts:

Wannan ya ce, bari mu fara da batun da ke hannun.

Gabatar da Littattafan Wasan Wasa Mai Hakuri

Kamar yadda aka bayyana a cikin jagorar da ta gabata, zaku iya amfani da mai yiwuwa mai amfani don gudanar da umarni a cikin nodes masu nisa kamar haka:

# ansible -a "/bin/hostnamectl --static" webservers

A cikin misalin da ke sama, mun gudu hostnamectl --static akan node1 da node2. Ba ya ɗaukar lokaci mai tsawo kafin mutum ya gane cewa wannan hanyar gudanar da ayyuka akan kwamfutoci masu nisa suna aiki lafiya ga gajerun umarni amma zai iya zama da sauri ya zama nauyi ko ɓarna don ƙarin ayyuka masu rikitarwa waɗanda ke buƙatar ƙarin ingantattun sigogin daidaitawa ko hulɗa tare da wasu ayyuka.

Misali, kafawa da daidaita WordPress akan runduna da yawa - wanda zamu rufe a labarin na gaba na wannan jerin). Anan ne littattafan Playbooks suka shigo cikin fage.

A taƙaice, Littafin Playbooks fayilolin rubutu ne da aka rubuta a cikin tsarin YAML, kuma suna ɗauke da jerin abubuwa masu maɓalli ɗaya ko fiye da nau'i-nau'i masu ƙima (wanda kuma aka sani da hash ko kamus).

A cikin kowane littafin Playbook za ku sami rukuni ɗaya ko fiye (kowanne ɗayan waɗannan rukunin ana kiransa wasan kwaikwayo) inda za a gudanar da ayyukan da ake so.

Misali daga takaddun hukuma zai taimake mu mu kwatanta:

1. runduna: wannan jerin inji ne (kamar yadda /etc/ansible/hosts) inda za a yi ayyuka masu zuwa.

2. remote_user: remote account wanda za a yi amfani da shi don aiwatar da ayyukan.

3. vars: masu canji da ake amfani da su don gyara halayen tsarin (s).

4. Ana aiwatar da ayyuka cikin tsari, ɗaya bayan ɗaya, akan duk injinan da suka dace da runduna. A cikin wasa, duk runduna za su sami umarnin ɗawainiya iri ɗaya.

Idan kana buƙatar aiwatar da wani tsari na daban-daban na ayyuka masu alaƙa don takamaiman mai masaukin baki, ƙirƙirar wani wasa a cikin littafin Playbook na yanzu (wato, manufar wasan kwaikwayo shine taswirar takamaiman zaɓi na runduna zuwa ƙayyadaddun ayyuka).

A wannan yanayin, fara sabon wasa ta ƙara umarnin runduna a ƙasa da farawa:

---
- hosts: webservers
  remote_user: root
  vars:
    variable1: value1
    variable2: value2
  remote_user: root
  tasks:
  - name: description for task1
    task1: parameter1=value_for_parameter1 parameter2=value_for_parameter2
  - name: description for task1
    task2: parameter1=value_for_parameter1 parameter2=value_for_parameter2
  handlers:
    - name: description for handler 1
      service: name=name_of_service state=service_status
- hosts: dbservers
  remote_user: root
  vars:
    variable1: value1
    variable2: value2
…

5. Masu gudanar da ayyuka ayyuka ne waɗanda aka kunna a ƙarshen sashin ayyuka a cikin kowane wasa, kuma galibi ana amfani da su don sake kunna sabis ko kunna sake kunnawa a cikin tsarin nesa.

# mkdir /etc/ansible/playbooks

Kuma fayil mai suna apache.yml a ciki tare da abubuwan ciki masu zuwa:

---
- 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: replace default index.html file
    copy: src=/static_files/index.html dest=/var/www/html/ mode=0644
    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

Na biyu, ƙirƙirar directory /static_files:

# mkdir /static_files

inda zaku adana fayil ɗin al'ada index.html:

<!DOCTYPE html>
 <html lang="en">
 <head>
 <meta charset="utf-8"/>
 </script>
 </head>
 <body>
 <h1>Apache was started in this host via Ansible</h1><br>
<h2>Brought to you by linux-console.net</h2>
 </body>
 </html>

Wannan ya ce, yanzu lokaci ya yi da za a yi amfani da wannan littafin wasan kwaikwayo don yin ayyukan da aka ambata a baya. Za ku lura cewa Mai yiwuwa zai bi kowane aiki ta hanyar mai masauki, ɗaya bayan ɗaya, kuma zai ba da rahoto kan matsayin waɗannan ayyuka:

# ansible-playbook /etc/ansible/playbooks/apache.yml

Yanzu bari mu ga abin da zai faru idan muka buɗe mai bincike kuma mu nuna shi zuwa 192.168.0.29 da 192.168.0.30:

Bari mu ci gaba mataki ɗaya kuma mu dakatar da hannu da kashe Apache akan node1 da node2:

# systemctl stop httpd
# systemctl disable httpd
# systemctl is-active httpd
# systemctl is-enabled httpd

Sai a sake gudu,

# ansible-playbook /etc/ansible/playbooks/apache.yml

A wannan lokacin, aikin ya ba da rahoton cewa an fara sabar gidan yanar gizon Apache kuma an kunna shi akan kowane mai masaukin baki:

Da fatan za a yi la'akari da misalin da ke sama azaman ɗan hango ƙarfin Mai yiwuwa. Duk da yake waɗannan ayyuka ne masu sauƙi idan aka yi su akan ƙaramin adadin sabobin, zai iya zama mai wahala da ɗaukar lokaci idan kuna buƙatar yin haka a cikin injuna da yawa (wataƙila ɗaruruwan).

Takaitawa

A cikin wannan labarin mun bayyana yadda ake gudanar da umarni da aiwatar da ayyuka masu rikitarwa akan runduna masu nisa da yawa a lokaci guda ta amfani da Mai yiwuwa. Ma'ajiyar GitHub tana ba da misalai da yawa da jagorori kan yadda ake amfani da Mai yiwuwa don cimma kusan kowane ɗawainiya da ake iya tunani.

Yayin da kuka fara koyon yadda ake sarrafa ayyuka ta atomatik akan runduna Linux masu nisa ta amfani da Mai yiwuwa, za mu so mu ji tunanin ku. Tambayoyi, sharhi, da shawarwari kuma ana maraba da su koyaushe, don haka jin daɗin tuntuɓar mu ta amfani da fom ɗin da ke ƙasa kowane lokaci.