Hvernig á að nota truflanir og kvikar birgðir í Ansible - 4. hluti


Í þessum hluta 4 af Ansible seríunni munum við útskýra hvernig á að nota truflanir og kraftmikla birgðaskrá til að skilgreina hópa gestgjafa í Ansible.

Í Ansible eru stýrðir hýsingar eða netþjónar sem stjórnað er af Ansible stjórnhnútnum skilgreindir í hýsilskrárskrá eins og útskýrt er í. Hýsilbirgðaskrá er textaskrá sem samanstendur af hýsilheitum eða IP-tölum stýrðra gestgjafa eða ytri netþjóna.

Stýrðir gestgjafar geta annað hvort verið skráðir sem stakar færslur eða flokkaðir undir hópheiti eins og við munum sjá síðar. Í Ansible eru tvær tegundir af birgðaskrám: Static og Dynamic.

Við skulum skoða hvert og eitt af þessu og sjá hvernig við getum stjórnað þeim. Núna gerum við ráð fyrir að þú hafir þegar sett upp Ansible á stjórnunarhnútnum þínum og stillt lykilorðslausa SSH tengingu við stýrðu gestgjafana þína.

Í Ansible er kyrrstæð birgðaskrá látlaus textaskrá sem inniheldur lista yfir stýrða gestgjafa sem lýst er yfir undir hýsingarhópi með því að nota annað hvort hýsilnöfn eða IP-tölur.

Nafn gestgjafahóps er innan hornklofa, þ.e. [nafn hóps]. Stýrðu hýsingarfærslurnar eru síðar skráðar fyrir neðan hópheitið, hver á sinni línu. Eins og áður hefur komið fram eru gestgjafarnir skráðir með annað hvort hýsingarnöfn eða IP tölur.

[group name]

Host A ip_address 
Host B ip_address
Host c ip_address

Til skýringar munum við búa til kyrrstæða birgðaskrá.

# mkdir test_lab && cd test_lab
# vim hosts
[webservers]
173.82.115.165

[database_servers]
173.82.220.239

[datacenter:children]
webservers
database_servers

Vistaðu skrána og hættu.

Eins og þú sérð í birgðaskránni hér að ofan höfum við búið til 2 gestgjafahópa: vefþjóna og gagnagrunnsþjóna. Einnig höfum við búið til viðbótarhóp sem kallast gagnaver sem inniheldur hóp hýsingarhópa sem táknaðir eru með : children viðskeytinu eins og sést hér að ofan.

Ansible gerir einnig kleift að setja hópa af gestgjöfum undir hópnafni. Í birgðaskránni hér að ofan hafa vefþjónarnir og database_servers hóparnir verið settir undir gagnaverið.

ATH: Það er ekki skylda að setja stýrða gestgjafa í gestgjafahóp. Þú getur einfaldlega skráð þau með því að nota til dæmis hýsingarnöfn þeirra eða IP tölur.

173.82.202.239
172.82.115.165
load_balancer.pnl.com

Við skulum nú nota nokkrar Ansible skipanir til að vísa í hýsilskrárskrána. Grunnsetningafræði fyrir birgðastjórnun er eins og sýnt er.

$ ansible {host-pattern} -i /path/of/inventory/file --list-hosts

Til dæmis,

$ ansible all -i /root/test_labs/hosts --list-hosts

Að öðrum kosti geturðu notað algildisstafinn * til að koma í stað ‘all’ röksemdafærslu.

$ ansible * -i /root/test_labs/hosts --list-hosts

Til að skrá gestgjafa í hóp, tilgreindu gestgjafahópinn í stað gestgjafamynstursins.

$ ansible webservers -i /root/test_labs/hosts --list-hosts

Í stillingum - sérstaklega skýjauppsetningu eins og AWS þar sem birgðaskráin heldur áfram að breytast eftir því sem þú bætir við eða tekur netþjóna úr notkun, verður það algjör áskorun að fylgjast með vélunum sem eru skilgreindir í birgðaskránni. Það verður óþægilegt að fara aftur í hýsingarskrána og uppfæra listann yfir gestgjafa með IP tölum þeirra.

Og þetta er þar sem kraftmikil birgðir koma til sögunnar. Svo hvað er kraftmikil birgðastaða? Kraftmikil skrá er handrit skrifað í Python, PHP eða einhverju öðru forritunarmáli. Það kemur sér vel í skýjaumhverfi eins og AWS þar sem IP tölur breytast þegar sýndarþjónn er stöðvaður og ræstur aftur.

Ansible hefur þegar þróað birgðaforskriftir fyrir opinbera skýjapalla eins og Google Compute Engine, Amazon EC2 dæmi, OpenStack, RackSpace, Cobbler, meðal annarra.

  • Dynamískar birgðir vinna fullkomið starf við að draga úr mannlegum mistökum þar sem upplýsingum er safnað með forskriftum.
  • Lágmarks átak er krafist við birgðastjórnun.

Þú getur skrifað þitt eigið sérsniðna kraftmikla birgðahald á forritunarmáli að eigin vali. Birgðin ætti að skila sniði í JSON þegar viðeigandi valkostir eru samþykktir.

Forskrift sem er notuð til að búa til kraftmikla birgðaskrá þarf að vera keyranleg svo Ansible geti notað það.

Til að sækja upplýsingar um gestgjafana inni í kraftmiklu birgðaskriftu skaltu einfaldlega keyra.

# ./script --list 

Eins og áður hefur komið fram ætti úttakið að vera í JSON á sniðinu hér að neðan.

  • Listi yfir stýrða gestgjafa fyrir hvern hóp
  • Orðabók yfir breytur

  • Hýsingar og gestgjafar

{
  "webservers": {
    "hosts": [
      "webserver1.example.com",
      "webserver2.example.com"
    ],
    "vars": {}
  },
  "database_servers": {
    "hosts": [
      "mysql_db1",
      "mysql_db2"
    ],
    "vars": {}
  },
  "_meta": {
    "hostvars": {
      "mysql_db2": {},
      "webserver2.example.com": {},
      "webserver1.example.com": {}, 
      "mysql_db1": {}
    }
  }
}

Í þessari grein höfum við sýnt fram á hvernig á að búa til bæði kyrrstæðar og kraftmiklar birgðir. Í stuttu máli er kyrrstæð birgðaskrá látlaus textaskrá sem inniheldur lista yfir stýrða gestgjafa eða ytri hnúta þar sem tölur og IP tölur eru nokkuð stöðugar.

Aftur á móti heldur kraftmikil hýsingarskrá áfram að breytast þegar þú bætir við nýjum gestgjöfum eða tekur gamla úr notkun. IP tölur gestgjafa eru einnig kraftmiklar þegar þú hættir og ræsir ný gestgjafakerfi. Við vonum að þér hafi fundist þessi kennsla fræðandi.