Jogapkärçiligiň esasy komponentlerine düşüniň - 1-nji bölüm
Ansible awtomatlaşdyryş synagynda (EX407) Red Hat kepillendirilen hünärmen, Red Hat tarapyndan ulgamlaryň we amaly programmalaryň konfigurasiýasyny awtomatlaşdyrmak üçin Ansible-i ulanmak ukybyňyzy barlaýan täze sertifikat programmasydyr.
Bu seriýa “Ansible awtomatlaşdyryş synagynda Red Hat kepillendirilen hünärmen” (EX407) ady berler we Red Ans Enterprise Linux 7.5 we Ansible 2.7 esasynda aşakdaky synag maksatlaryny öz içine alar, bu Ansible seriýasynda ara alyp maslahatlaşarys:
Feesurduňyzda tölegleri görmek we ekzamen üçin hasaba durmak üçin “Ansible Automation” synag sahypasyny barlaň.
“Ansible” seriýasynyň 1-nji bölüminde “Ansible” -iň esasy komponentlerine käbir esasy synlary ara alyp maslahatlaşarys.
Ansible, bir merkezi ýerden birnäçe serweri dolandyrmaga we dolandyrmaga mümkinçilik berýän RedHat tarapyndan mugt we açyk awtomatlaşdyryş platformasydyr. Esasanam ýerine ýetirilmeli köp we gaýtalanýan meseleler bar bolsa gaty gowy. Şonuň üçin bu uzakdaky düwünleriň hersine girip, wezipeleriňizi ýerine ýetirmegiň ýerine merkezi ýerden rahatlyk bilen edip, serwerleriňizi rahat dolandyryp bilersiňiz.
Programmany ýerleşdirmekde yzygiderliligi saklamak, adam ýalňyşlygyny azaltmak we gaýtalanýan we birneme adaty meseleleri awtomatlaşdyrmak isleseňiz bu peýdalydyr.
Elbetde, Gurjak, aşpez we duz ýaly Ansible-iň başga alternatiwalary bar. Şeýle-de bolsa, Ansible köplenç ileri tutulýar, sebäbi ulanmak aňsat we öwrenmek ýönekeý.
Näme üçin sorap biljekdigiňizi öwrenmek ýönekeý? Sebäbi “Ansible”, adam okalýan we ýerine ýetirmek aňsat bolan konfigurasiýa we awtomatlaşdyryş işlerinde YAML (Yetöne başga bir bellik dili) ulanýar. YAML, uzak serwerler bilen aragatnaşyk saklamak üçin SSH protokolyny ulanýar, olar bilen aragatnaşyk gurmak üçin uzakdaky düwünlere agent gurmagy talap edýän beýleki awtomatlaşdyryş platformalaryndan tapawutlylykda.
“Ansible” bilen başlamazdan ozal, käbir esasy terminologiýalar bilen tanyşmagyňyz möhümdir, öňe baranymyzda ýitirim bolmaz ýa-da bulaşmaz.
Inwentar, dolandyrýan we sazlaýan serwerleriň ýa-da düwünleriň sanawyny öz içine alýan tekst faýlydyr. Adatça, serwerler öz atlaryna ýa-da IP adreslerine esaslanýar.
Öwreniş faýlynda görkezilişi ýaly IP adresleri bilen kesgitlenen uzakdaky ulgamlar bolup biler:
10.200.50.50 10.200.50.51 10.200.50.52
Ativea-da bolmasa, toparlara görä sanalyp bilner. Aşakdaky mysalda, 2 topara bölünen serwerlerimiz bar - web serwerleri we maglumat bazalary. Şeýlelik bilen, IP adreslerine däl-de, topar atlaryna görä salgylanyp bolýar. Bu amal amallaryny hasam aňsatlaşdyrýar.
[webservers] 10.200.50.60 10.200.50.61 [databases] 10.200.50.70 10.200.50.71
Uly önümçilik gurşawynda bolsaňyz, birnäçe serwerli birnäçe topara eýe bolup bilersiňiz.
Oýun kitaby, uzakdaky öý eýelerinde ýa-da öý maşynlarynyň toparynda meseleleriň nähili ýerine ýetiriljekdigini kesgitleýän konfigurasiýa dolandyryş skriptleriniň toplumydyr. Ripazgylar ýa-da görkezmeler YAML görnüşinde ýazylýar.
Mysal üçin, CentOS 7-de Apache web serwerini gurmak we oňa httpd.yml diýip atlandyrmak üçin playbook faýly bolup biler.
Oýun kitabyny döretmek üçin buýrugy işlediň.
$ touch playbook_name.yml
Mysal üçin, httpd atly oýun kitabyny döretmek üçin buýrugy işlediň.
$ touch httpd.yml
YAML faýly görkezilişi ýaly 3 defis bilen başlaýar. Faýlyň içine aşakdaky görkezmeleri goşuň.
--- - name: This installs and starts Apache webserver hosts: webservers tasks: - name: Install Apache Webserver yum: name=httpd state=latest - name: check httpd status service: name=httpd state=started
Aboveokardaky oýun kitaby, inwentar faýlynda web serweri hökmünde kesgitlenen uzak ulgamlarda Apache web serwerini gurýar. Web serwer gurlandan soň, Ansible Apache web serweriniň işe başlandygyny ýa-da işlemeýändigini barlaýar.
Modullar, uzakdaky hostlarda ýa-da serwerlerde buýruklary ýerine ýetirmek üçin oýun kitaplarynda ulanylýan aýratyn kod birlikleridir. Her modulda argument bolýar.
Modulyň esasy formaty açar: baha.
- name: Install apache packages yum: name=httpd state=present
Aboveokardaky YAML kod parçasynda -name we yum modullardyr.
Jogaply oýun, serwerde ýerine ýetirilmeli meseläni kesgitleýän skript ýa-da görkezme. Spektakllar ýygyndysy oýun kitabyny emele getirýär. Başga sözler bilen aýdylanda, oýun kitaby serwerde ýerine ýetirilmeli meseläni anyk kesgitleýän birnäçe pýesanyň ýygyndysydyr. Oýunlar YAML formatda bar.
Eger programmirleme tejribäňiz bar bolsa, üýtgeýänleri ulanan bolsaňyz gerek. Esasan, üýtgeýji bir bahany aňladýar. Üýtgeýji harplary, sanlary we aşaky çyzyklary öz içine alyp biler, ýöne elmydama harplardan başlamaly.
Görkezmeler bir ulgamdan beýlekisine üýtgän mahaly üýtgeýjiler ulanylýar. Bu esasanam konfigurasiýa ýa-da dürli hyzmatlar we aýratynlyklar wagtynda dogry.
Üýtgeýjileriň 3 esasy görnüşi bar:
- Playbook üýtgeýjileri
- Öwreniş üýtgeýjileri
- Specialörite üýtgeýjiler
“Ansible” -de üýtgeýjiler ilki bilen “v” karslary bilen kesgitlenilýär, soňra üýtgeýänleriň ady we bahasy kesgitlenýär.
Sintaksis görkezilişi ýaly:
vars: Var name1: ‘My first variable’ Var name2: ‘My second variable’
Aşakdaky koda serediň.
- hosts: webservers vars: - web_directory:/var/www/html/
Aboveokardaky mysalda, bu ýerdäki üýtgeýji web_directory bolup,/var/www/html/ýolda katalog döretmegi tabşyrýar.
Faktlar, “Ansible” -iň kabul ediji ulgamda oýnawaç kitabyny ýerine ýetireninde toplanan ulgam häsiýetleri. Aýratynlyklara hostname, OS maşgalasy, CPU görnüşi we CPU ýadrosy degişlidir.
Ulanmak üçin bar bolan faktlaryň sanyna göz aýlamak üçin buýrugy beriň.
$ ansible localhost -m setup
Görşüňiz ýaly, köp sanly fakt öňünden görkezildi. Görkezilişi ýaly süzgüç parametrini ulanyp, netijeleri hasam gysgaldyp bilersiňiz.
$ ansible localhost -m setup -a "filter=*ipv4"
“Ansible” -de konfigurasiýa faýly, “Ansible” -iň işleýşini kesgitleýän dürli parametr sazlamalaryny öz içine alýan faýl. Adaty konfigurasiýa faýly/etc/ansible/katalogda ýerleşýän ansible.cfg faýlydyr.
Sazlama faýlyny işledip görüp bilersiňiz:
$ cat /etc/ansible/ansible.cfg
Syn edişiňiz ýaly, inwentar we kitaphananyň faýl ýollary, sudo ulanyjysy, plugin süzgüçleri, modullar we ş.m. ýaly birnäçe parametrler bar. Bu parametrleri diňe düşündiriş bermek we içindäki bahalary üýtgetmek arkaly sazlap bolýar.
Mundan başga-da, deslapky konfigurasiýa faýlyňyzdan başga Ansible bilen işleýän birnäçe konfigurasiýa faýly bolup biler.
“Ansible” -iň esasy böleklerine göz aýlap, olary barmaklaryňyzyň ujunda saklap, öňe baranymyzda saýlap bilersiňiz diýip umyt edýäris. Indiki mowzugyňyza goşulyň.