Kutulutsidwa komwe kukubwera kwa Red Hat Ansible Engine 2.9 kumabweretsa zosintha zosangalatsa, zina zomwe zikukambidwa m'nkhaniyi. Monga nthawi zonse, takhala tikukonza zosintha za Ansible Network poyera, mothandizidwa ndi anthu ammudzi. Lowani nafe - yang'anani
Monga talengeza posachedwa,
- Arista EOS
- Cisco IOS
- Cisco IOS XR
- Cisco NX-OS
- Juniper Junos
- VyOS
Kuti mupeze mndandanda wathunthu wamapulatifomu omwe amathandizidwa kwathunthu ndi Red Hat kudzera kulembetsa kwa Ansible Automation,
Taphunzira chiyani
Pazaka zinayi zapitazi, taphunzira zambiri zopanga makina opangira makina. Tinaphunziranso zimenezo momwe zojambula papulatifomu zimagwiritsidwa ntchito m'mabuku osewerera Ansible ndi maudindo ndi ogwiritsa ntchito kumapeto. Ndipo izi ndi zomwe tapeza:
- Mabungwe akupanga zida kuchokera osati kwa amodzi okha, koma ogulitsa ambiri.
- Zochita zokha sizinthu zamakono zokha, komanso chikhalidwe.
- Kupanga ma netiweki pamlingo wovuta kwambiri kuposa momwe zimawonekera chifukwa cha mfundo zazikuluzikulu zamapangidwe opanga makina.
Titakambirana za mapulani athu akukula kwanthawi yayitali chaka chapitacho, makasitomala athu amabungwe adafunsa izi:
- Kutolera zowona kuyenera kukhala kokhazikika bwino ndikuyanjanitsidwa ndi mayendedwe a automation pazida zonse.
- Kusintha masinthidwe pa chipangizocho kumayeneranso kukhala kofanana komanso kofanana kuti ma Ansible modules azigwira theka lachiwiri la kuzungulira pambuyo posonkhanitsa mfundo.
- Tikufuna njira zolimba komanso zothandiza zosinthira masinthidwe a chipangizo kukhala data yokhazikika. Pamaziko awa, gwero la chowonadi likhoza kusunthidwa kuchokera ku chipangizo cha intaneti.
Zosintha zenizeni
Kutolera zowona kuchokera pazida zamtaneti pogwiritsa ntchito Ansible nthawi zambiri kumachitika mwachisawawa. Mapulatifomu opezeka pa intaneti ali ndi kuthekera kosiyanasiyana kopeza zowona, koma ali ndi magwiridwe antchito pang'ono kapena alibe ntchito yofotokozera ndikuyimira kuyimira kwa data mumagulu awiri amtengo wapatali. Werengani
Mwina mwatiwonapo tikugwira ntchito ya Ansible Network Engine. Mwachilengedwe, kutsitsa kwa 24K pambuyo pake, gawo la Network Engine lidakhala gawo limodzi mwamaudindo otchuka kwambiri mu Ansible Galaxy pamawonekedwe amtundu wa netiweki. Tisanasunthire zambiri mu Ansible 2.8 kuti tikonzekere zomwe zingafunike mu Ansible 2.9, gawo Loyenerali lidapereka zida zoyambirira zothandizira kugawa malamulo, kuyang'anira malamulo, ndi kusonkhanitsa deta pazida zama network.
Ngati mukudziwa kugwiritsa ntchito Network Engine, iyi ndi njira yabwino kwambiri yosonkhanitsira, kusanthula, ndi kulinganiza zowona kuti zigwiritsidwe ntchito mu Ansible. Kuipa kwa gawoli ndikuti muyenera kupanga gulu lonse la magawo papulatifomu iliyonse komanso pazochitika zonse zapaintaneti. Kuti mumvetsetse momwe zimavutira kupanga, kutumiza, ndi kukonza zophatikiza, yang'anani
Mwachidule, kupeza zowona kuchokera pazida ndikuzisintha kukhala magawo amtengo wapatali ndikofunikira kuti zizingochitika zokha, koma kukwaniritsa izi kumakhala kovuta mukakhala ndi mavenda ambiri ndi nsanja zapaintaneti.
Gawo lililonse lamanetiweki mu Ansible 2.9 tsopano litha kusanthula masinthidwe a chipangizo cha netiweki ndikubweza deta yokhazikika - popanda malaibulale owonjezera, maudindo a Ansible kapena ophatikiza makonda.
Popeza Ansible 2.9, nthawi iliyonse ma module osinthidwa amatulutsidwa, gawo lazowona limasinthidwa kuti lipereke zambiri za gawo ili la kasinthidwe. Ndiko kuti, chitukuko cha mfundo ndi ma modules tsopano chikuchitika pa liwiro lomwelo, ndipo nthawi zonse adzakhala ndi deta yofanana.
Kukonzekera kwazinthu pa chipangizo cha netiweki kumatha kubwezeredwa ndikusinthidwa kukhala deta yokhazikika m'njira ziwiri. Munjira zonse ziwiri, mutha kusonkhanitsa ndikusintha mndandanda wazinthu zina pogwiritsa ntchito mawu osakira gather_network_resources
. Mayina azinthu amafanana ndi mayina a ma module, omwe ndi abwino kwambiri.
Posonkhanitsa mfundo:
Kugwiritsa ntchito mawu ofunika gather_facts
mutha kupezanso kasinthidwe kachipangizo kamakono koyambira pa sewerolo, ndiyeno mugwiritse ntchito m'buku lonse lamasewera. Tchulani zinthu zomwe ziyenera kutengedwa kuchokera ku chipangizocho.
- hosts: arista
module_defaults:
eos_facts:
gather_subset: min
gather_network_resources:
- interfaces
gather_facts: True
Mwina mwawonapo china chatsopano m'zitsanzo izi, monga - gather_facts: true
tsopano ikupezeka pazosonkhanitsira zenizeni pazida zamtaneti.
Kugwiritsa ntchito network fact module mwachindunji:
- name: collect interface configuration facts
eos_facts:
gather_subset: min
gather_network_resources:
- interfaces
The playbook imabweretsanso zotsatirazi zokhudzana ndi mawonekedwe:
ansible_facts:
ansible_network_resources:
interfaces:
- enabled: true
name: Ethernet1
mtu: '1476'
- enabled: true
name: Loopback0
- enabled: true
name: Loopback1
- enabled: true
mtu: '1476'
name: Tunnel0
- enabled: true
name: Ethernet1
- enabled: true
name: Tunnel1
- enabled: true
name: Ethernet1
Zindikirani momwe Ansible amapezeranso makonzedwe achilengedwe kuchokera ku chipangizo cha Arista ndikuchisintha kukhala deta yokhazikika kuti agwiritse ntchito ngati mawiri awiri amtengo wapatali pa ntchito zotsika ndi ntchito.
Zowona za Interface zitha kuwonjezeredwa kuzinthu zosungidwa za Ansible ndikugwiritsidwa ntchito nthawi yomweyo kapena mtsogolo monga cholowa mu gawo lazinthu eos_interfaces
popanda kukonza zowonjezera kapena kutembenuka.
Zida Zothandizira
Chifukwa chake, tidatulutsa zowona, kusinthira zomwe datayo ili nazo, kuziyika muzojambula zofananira zamkati ndikulandila chowonadi chopangidwa kale. Uwu! Izi ndizabwino, komabe, tifunikabe kutembenuza makiyi amtengo wapatali kuti abwerere ku kasinthidwe komwe kachipangizo kachipangizo kamene kamayembekezera. Tsopano tikufunika ma module okhudzana ndi pulatifomu kuti tikwaniritse zosowa zatsopanozi zowunikira komanso zokhazikika.
Kodi gawo lothandizira ndi chiyani? Mutha kuganizira za kasinthidwe kachipangizo ngati zinthu zoperekedwa ndi chipangizocho. Ma module othandizira ma netiweki amangokhala ndi chida chimodzi chokha ndipo amatha kusanjika ngati midadada yomangirira kuti musinthe ma network ovuta. Zotsatira zake, zofunikira ndi mafotokozedwe a gawo lazothandizira zimasinthidwa mwachilengedwe, popeza gawo lazothandizira limatha kuwerenga. ΠΈ sinthani mautumiki apadera pamanetiweki.
Kuti tifotokoze zomwe gawo lachidziwitso limachita, tiyeni tiwone chitsanzo cha playbook chomwe chikuwonetsa magwiridwe antchito pogwiritsa ntchito mfundo zatsopano zamaneti ndi gawo. eos_l3_interface
.
- name: example of facts being pushed right back to device.
hosts: arista
gather_facts: false
tasks:
- name: grab arista eos facts
eos_facts:
gather_subset: min
gather_network_resources: l3_interfaces
- name: ensure that the IP address information is accurate
eos_l3_interfaces:
config: "{{ ansible_network_resources['l3_interfaces'] }}"
register: result
- name: ensure config did not change
assert:
that: not result.changed
Monga mukuwonera, zomwe zasonkhanitsidwa kuchokera ku chipangizocho zimasamutsidwa mwachindunji ku gawo lolingana lazinthu popanda kutembenuka. Ikakhazikitsidwa, sewerolo limatenga zinthu kuchokera pachidacho ndikuziyerekeza ndi zomwe zikuyembekezeka. Muchitsanzo ichi, zomwe zabwezedwa ndizomwe zimayembekezeredwa (ndiko kuti, zimayang'ana masinthidwe) ndikuwonetsa ngati kasinthidwe kasintha.
Njira yabwino yodziwira kusuntha kwa kasinthidwe ndikusunga zowona muzosintha zosungidwa za Ansible ndikuzigwiritsa ntchito nthawi ndi nthawi ndi gawo lazothandizira poyang'anira. Iyi ndi njira yosavuta yowonera ngati wina wasintha pamanja pazikhalidwe. Nthawi zambiri, mabungwe amalola kusintha ndikusintha pamanja, ngakhale ntchito zambiri zimachitika kudzera mu Ansible Automation.
Kodi ma module atsopano amasiyana bwanji ndi akale?
Kwa mainjiniya opangira makina, pali kusiyana kwakukulu 3 pakati pa ma module a Ansible 2.9 ndi mitundu yam'mbuyomu.
1) Pazinthu zomwe zidaperekedwa pamanetiweki (zomwe zitha kuganiziridwanso ngati gawo lokonzekera), ma module ndi zowona zidzasintha pamakina onse ogwiritsira ntchito maukonde nthawi imodzi. Tikuganiza kuti ngati Ansible imathandizira kasinthidwe kazinthu papulatifomu imodzi, tiyenera kuthandizira kulikonse. Izi zimathandizira kugwiritsa ntchito ma modules chifukwa makina opanga makina opangira ma netiweki tsopano amatha kukonza zinthu (monga LLDP) pamakina onse ogwiritsira ntchito ma netiweki okhala ndi ma module am'deralo komanso othandizira.
2) Ma module othandizira tsopano akuphatikiza mtengo wa boma.
merged
: kasinthidwe kaphatikizidwe ndi kasinthidwe koperekedwa (chosasinthika);replaced
: Kukonzekera kwazinthu kudzasinthidwa ndi kasinthidwe koperekedwa;overridden
: Kukonzekera kwazinthu kudzasinthidwa ndi kasinthidwe koperekedwa; zochitika zosafunikira zidzachotsedwa;deleted
: Kukonzekera kwazinthu kudzachotsedwa / kubwezeretsedwa kukhala osasintha.
3) Ma module azinthu tsopano akuphatikiza zokhazikika zobwerera. Pamene gawo la gwero la maukonde lapanga (kapena likufuna) kusintha kofunikira pa chipangizo cha intaneti, chimabwezeretsanso mafungulo omwewo amtengo wapatali ku playbook.
before
: kasinthidwe pa chipangizocho mu mawonekedwe a deta yokonzedwa ntchito isanayambe;after
: ngati chipangizocho chasintha (kapena chitha kusintha ngati njira yoyesera ikugwiritsidwa ntchito), kasinthidwe kameneka kadzabwezedwa ngati deta yokonzedwa;commands
: Malamulo aliwonse kasinthidwe amayendetsa pa chipangizocho kuti abweretse momwe mukufunira.
Kodi zonsezi zikutanthauza chiyani? Chifukwa chiyani kuli kofunikira?
Chotsatirachi chimakhala ndi malingaliro ovuta kwambiri, koma tikukhulupirira kuti pamapeto pake mumvetsetsa bwino zomwe makasitomala amabizinesi akufunsa, kusonkhanitsa, kukhazikika kwa data, ndikusintha kwa loop papulatifomu yodzichitira. Koma nβchifukwa chiyani amafunikira kuwongolera kumeneku? Mabungwe ambiri tsopano akutsata kusintha kwa digito kuti malo awo a IT akhale okhwima komanso opikisana. Zabwino kapena zoyipa, akatswiri opanga ma network ambiri amakhala opanga maukonde mwina chifukwa chodzikondera kapena chifukwa cha kasamalidwe.
Mabungwe akuwona kuti kupanga ma templates pa intaneti sikuthetsa vuto la silos ndipo kumangowonjezera kuchita bwino pamlingo wina. Red Hat Ansible Automation Platform imapereka ma data okhazikika komanso okhazikika kuti athe kuwongolera mwadongosolo zomwe zili pa chipangizo cha netiweki. Izi zikutanthauza kuti, ogwiritsa ntchito akusiya pang'onopang'ono njira zosinthira payekha m'malo mwa njira zamakono ndikugogomezera matekinoloje (mwachitsanzo, ma adilesi a IP, ma VLAN, LLDP, ndi zina), m'malo mogwiritsa ntchito mavenda ena.
Kodi izi zikutanthauza kuti masiku a ma module odalirika komanso otsimikiziridwa ndi kasinthidwe amawerengedwa? Ayi ndithu. Ma module omwe akuyembekezeredwa pamaneti sangagwire ntchito nthawi zonse kapena kwa ogulitsa aliyense, chifukwa chake ma module amawu ndi kasinthidwe adzafunikabe ndi akatswiri opanga maukonde kuti akwaniritse zina. Cholinga cha ma modules ndikusintha ma tempuleti akulu a Jinja ndikusintha masinthidwe osakhazikika a chipangizo kukhala mawonekedwe a JSON. Ndi ma modules, zidzakhala zosavuta kwa maukonde omwe alipo kuti asinthe kasinthidwe kake kukhala magulu awiri amtengo wapatali omwe amaimira gwero losavuta kuwerenga la choonadi. Pogwiritsa ntchito makiyi amtengo wapatali omwe amapangidwa, mutha kusuntha kuchoka pakukonzekera pa chipangizo chilichonse kupita ku deta yodziyimira payokha ndikubweretsa maukonde kutsogolo kwa njira yoyendetsera zomangamanga.
Ndi ma module ati omwe azibwera mu Ansible Engine 2.9?
Tisanakuuzeni mwatsatanetsatane zomwe zidzachitike mu Ansible 2.9, tiyeni tikumbukire momwe tidagawira gawo lonse la ntchito.
Tidazindikira magulu 7 ndikugawa zida zapaintaneti kwa aliyense:
Zindikirani: Zothandizira zomwe zili m'zilembo zakuda zidakonzedwa ndikukhazikitsidwa mu Ansible 2.9.
Kutengera ndi mayankho ochokera kwa makasitomala amabizinesi ndi anthu ammudzi, zinali zomveka kuti tithane ndi ma module okhudzana ndi ma protocol a network topology, virtualization, ndi ma interfaces.
Ma module otsatirawa adapangidwa ndi gulu la Ansible Network ndipo amagwirizana ndi nsanja zothandizidwa ndi Red Hat:
Ma module otsatirawa amapangidwa ndi gulu la Ansible:
exos_lldp_global
- kuchokera ku Extreme Networks.nxos_bfd_interfaces
- kuchokera ku Cisconxos_telemetry
- kuchokera ku Cisco
Monga mukuwonera, lingaliro la ma module othandizira likugwirizana ndi njira yathu yotsatsira nsanja. Ndiko kuti, timaphatikizapo kuthekera kofunikira ndi ntchito mu Ansible palokha kuti tithandizire kukhazikika pakupanga ma module a netiweki, komanso kufewetsa ntchito ya ogwiritsa ntchito pamlingo wa Ansible maudindo ndi mabuku osewerera. Kukulitsa chitukuko cha ma modules, gulu la Ansible linatulutsa chida cha Module Builder.
Mapulani a Ansible 2.10 ndi kupitirira
Ansible 2.9 ikangotulutsidwa, tikhala tikugwira ntchito pagawo lotsatira la ma modules a Ansible 2.10, omwe angagwiritsidwe ntchito kupititsa patsogolo ndondomeko ya maukonde ndi ndondomeko, mwachitsanzo.
Zida ndi zoyambira
Source: www.habr.com