Utoaji ujao wa Red Hat Ansible Engine 2.9 huleta maboresho ya kusisimua, ambayo baadhi yake yamefunikwa katika makala hii. Kama kawaida, tumekuwa tukitengeneza maboresho ya Mtandao wa Ansible kwa uwazi, kwa usaidizi wa jumuiya. Jiunge nasi - angalia
Kama tulivyotangaza hivi karibuni,
- Arista EOS
- Cisco IOS
- Cisco IOS XR
- Cisco NX-OS
- Juniper Junos
- VyOS
Kwa orodha kamili ya majukwaa ambayo yanaungwa mkono kikamilifu na Red Hat kupitia usajili wa Ansible Automation,
Tumejifunza nini
Katika kipindi cha miaka minne iliyopita, tumejifunza mengi kuhusu kuunda jukwaa la otomatiki la mtandao. Pia tulijifunza hilo kama vizalia vya programu vya jukwaa vinatumiwa katika vitabu vya kucheza vya Ansible na majukumu na watumiaji wa mwisho. Na hii ndio tuliyogundua:
- Mashirika ni vifaa vya otomatiki kutoka kwa sio moja tu, lakini wachuuzi wengi.
- Automation sio tu jambo la kiufundi, lakini pia ni la kitamaduni.
- Mitandao ya kiotomatiki kwa kiwango ni ngumu zaidi kuliko inavyoonekana kwa sababu ya kanuni za kimsingi za usanifu wa muundo wa kiotomatiki.
Tulipojadili mipango yetu ya ukuaji wa muda mrefu zaidi ya mwaka mmoja uliopita, wateja wetu wa kampuni waliuliza yafuatayo:
- Mkusanyiko wa ukweli unahitaji kusawazishwa vyema na kulinganishwa na utiririshaji wa otomatiki kwenye vifaa vyote.
- Kusasisha usanidi kwenye kifaa pia kunahitaji kusawazishwa na thabiti ili moduli Zinazoweza kushughulikia nusu ya pili ya mzunguko baada ya kukusanya ukweli.
- Tunahitaji mbinu madhubuti na zinazotumika ili kubadilisha usanidi wa kifaa kuwa data iliyoundwa. Kwa msingi huu, chanzo cha ukweli kinaweza kuhamishwa kutoka kwa kifaa cha mtandao.
Maboresho ya ukweli
Kukusanya ukweli kutoka kwa vifaa vya mtandao kwa kutumia Ansible mara nyingi hufanyika bila mpangilio. Majukwaa ya mtandao yana viwango tofauti vya uwezo wa kukusanya ukweli, lakini yana utendakazi mdogo au hayana kabisa wa kuchanganua na kusanifisha uwakilishi wa thamani kuu ya data. Soma
Huenda umetuona tukifanya kazi kwenye Ansible Network Engine. Kwa kawaida, upakuaji wa 24K baadaye, jukumu la Injini ya Mtandao kwa haraka limekuwa mojawapo ya majukumu maarufu Ansible katika Ansible Galaxy kwa matukio ya otomatiki ya mtandao. Kabla hatujahamisha mengi ya haya kwenye Ansible 2.8 ili kujiandaa kwa kile kitakachohitajika katika Ansible 2.9, jukumu hili Linalowezekana lilitoa seti ya kwanza ya zana ili kusaidia kuchanganua amri, kudhibiti amri na kukusanya data ya vifaa vya mtandao.
Ikiwa unajua jinsi ya kutumia Injini ya Mtandao, hii ni njia bora sana ya kukusanya, kuchanganua na kusawazisha data ya ukweli kwa matumizi katika Ansible. Ubaya wa jukumu hili ni kwamba unahitaji kuunda rundo zima la vichanganuzi kwa kila jukwaa na kwa shughuli zote za mtandao. Ili kuelewa jinsi ilivyo vigumu kuunda, kusafirisha, na kudumisha vichanganuzi, angalia
Kwa kifupi, kupata ukweli kutoka kwa vifaa na kuzirekebisha kuwa jozi za thamani-msingi ni muhimu kwa otomatiki kwa kiwango, lakini kufikia hili ni ngumu unapokuwa na wachuuzi wengi na majukwaa ya mtandao.
Kila sehemu ya ukweli wa mtandao katika Ansible 2.9 sasa inaweza kuchanganua usanidi wa kifaa cha mtandao na kurejesha data iliyopangwa - bila maktaba ya ziada, Majukumu Yanayofaa au vichanganuzi maalum.
Tangu Ansible 2.9, kila wakati moduli ya mtandao iliyosasishwa inatolewa, moduli ya ukweli inaboreshwa ili kutoa data kuhusu sehemu hii ya usanidi. Hiyo ni, maendeleo ya ukweli na modules sasa hutokea kwa kasi sawa, na daima watakuwa na muundo wa kawaida wa data.
Usanidi wa rasilimali kwenye kifaa cha mtandao unaweza kurejeshwa na kubadilishwa kuwa data iliyopangwa kwa njia mbili. Kwa njia zote mbili, unaweza kukusanya na kubadilisha orodha maalum ya rasilimali kwa kutumia neno muhimu jipya gather_network_resources
. Majina ya rasilimali yanafanana na majina ya moduli, ambayo ni rahisi sana.
Wakati wa kukusanya ukweli:
Kutumia neno kuu gather_facts
unaweza kuepua usanidi wa sasa wa kifaa mwanzoni mwa kitabu cha kucheza, na kisha uutumie katika kitabu chote cha kucheza. Bainisha rasilimali za kibinafsi zitakazochukuliwa kutoka kwa kifaa.
- hosts: arista
module_defaults:
eos_facts:
gather_subset: min
gather_network_resources:
- interfaces
gather_facts: True
Labda umegundua kitu kipya katika mifano hii, ambayo ni - gather_facts: true
sasa inapatikana kwa mkusanyiko wa ukweli asilia kwa vifaa vya mtandao.
Kutumia moduli ya ukweli wa mtandao moja kwa moja:
- name: collect interface configuration facts
eos_facts:
gather_subset: min
gather_network_resources:
- interfaces
Kitabu cha kucheza kinarudisha ukweli ufuatao kuhusu kiolesura:
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
Angalia jinsi Ansible hurejesha usanidi asili kutoka kwa kifaa cha Arista na kuibadilisha kuwa data iliyopangwa ili kutumia kama jozi za kawaida za thamani ya ufunguo kwa kazi na uendeshaji wa chini.
Ukweli wa kiolesura unaweza kuongezwa kwa vigeu vinavyoweza kuhifadhiwa na kutumika mara moja au baadaye kama ingizo kwenye moduli ya rasilimali eos_interfaces
bila usindikaji wa ziada au ubadilishaji.
Moduli za Rasilimali
Kwa hivyo, tulitoa ukweli, tukarekebisha data, tukaiweka katika mchoro sanifu wa muundo wa data ya ndani na tukapokea chanzo kilicho tayari cha ukweli. Hooray! Hii ni nzuri, bila shaka, lakini bado tunahitaji kwa namna fulani kubadilisha jozi za thamani-msingi kurudi kwenye usanidi mahususi ambao mfumo mahususi wa kifaa unatarajia. Sasa tunahitaji moduli mahususi za jukwaa ili kukidhi mahitaji haya mapya ya kukusanya ukweli na kuhalalisha.
Moduli ya rasilimali ni nini? Unaweza kufikiria sehemu za usanidi wa kifaa kama nyenzo zinazotolewa na kifaa hicho. Moduli za rasilimali za mtandao zimezuiwa kimakusudi kwa rasilimali moja na zinaweza kupangwa kama vizuizi ili kusanidi huduma changamano za mtandao. Kama matokeo, mahitaji na maelezo ya moduli ya rasilimali hurahisishwa kwa kawaida, kwani moduli ya rasilimali inaweza kusoma. ΠΈ sanidi huduma maalum ya mtandao kwenye kifaa cha mtandao.
Ili kueleza kile moduli ya rasilimali hufanya, hebu tuangalie mfano wa kitabu cha kucheza ambacho kinaonyesha utendakazi dhabiti kwa kutumia ukweli mpya wa rasilimali ya mtandao na moduli. 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
Kama unavyoona, data iliyokusanywa kutoka kwa kifaa huhamishwa moja kwa moja kwa moduli ya rasilimali inayolingana bila ubadilishaji. Inapozinduliwa, kitabu cha kucheza huchukua thamani kutoka kwa kifaa na kuzilinganisha na zinazotarajiwa. Katika mfano huu, thamani zilizorejeshwa ni kama inavyotarajiwa (yaani, inakagua mikengeuko ya usanidi) na inaripoti ikiwa usanidi umebadilika.
Njia bora ya kugundua kuteleza kwa usanidi ni kuhifadhi ukweli katika vigeu vinavyoweza kuhifadhiwa na kuzitumia mara kwa mara pamoja na moduli ya rasilimali katika hali ya ukaguzi. Hii ni njia rahisi kuona ikiwa mtu amebadilisha maadili mwenyewe. Mara nyingi, mashirika huruhusu mabadiliko na usanidi kwa mikono, ingawa shughuli nyingi hufanywa kupitia Ansible Automation.
Je, moduli mpya za rasilimali zinatofautianaje na zile zilizopita?
Kwa mhandisi wa otomatiki wa mtandao, kuna tofauti 3 kuu kati ya moduli za rasilimali katika Ansible 2.9 na matoleo ya awali.
1) Kwa rasilimali fulani ya mtandao (ambayo inaweza pia kuzingatiwa kama sehemu ya usanidi), moduli na ukweli zitabadilika kwa mifumo yote ya uendeshaji ya mtandao inayotumika kwa wakati mmoja. Tunafikiri kwamba ikiwa Ansible inaauni usanidi wa rasilimali kwenye jukwaa moja la mtandao, tunapaswa kuunga mkono kila mahali. Hii hurahisisha matumizi ya moduli za nyenzo kwa sababu mhandisi wa otomatiki wa mtandao sasa anaweza kusanidi rasilimali (kama vile LLDP) kwenye mifumo yote ya uendeshaji ya mtandao iliyo na moduli asili na zinazotumika.
2) Moduli za rasilimali sasa zinajumuisha thamani ya serikali.
merged
: usanidi umeunganishwa na usanidi uliotolewa (chaguo-msingi);replaced
: Usanidi wa rasilimali utabadilishwa na usanidi uliotolewa;overridden
: Usanidi wa rasilimali utabadilishwa na usanidi uliotolewa; matukio ya rasilimali zisizohitajika zitafutwa;deleted
: Usanidi wa rasilimali utafutwa/kurejeshwa kwa chaguomsingi.
3) Moduli za rasilimali sasa zinajumuisha maadili thabiti ya kurejesha. Wakati moduli ya rasilimali ya mtandao imefanya (au kupendekeza) mabadiliko muhimu kwenye kifaa cha mtandao, inarudisha jozi sawa za thamani ya ufunguo kwenye kitabu cha kucheza.
before
: usanidi kwenye kifaa kwa namna ya data iliyopangwa kabla ya kazi;after
: ikiwa kifaa kimebadilika (au kinaweza kubadilika ikiwa hali ya jaribio itatumika), usanidi unaopatikana utarejeshwa kama data iliyopangwa;commands
: Amri zozote za usanidi huendesha kwenye kifaa ili kukileta katika hali inayotakiwa.
Je, haya yote yanamaanisha nini? Kwa nini ni muhimu?
Chapisho hili linashughulikia dhana nyingi changamano, lakini tunatumai kuwa mwishowe utakuwa na ufahamu bora wa kile ambacho wateja wa biashara wanauliza kwa kweli ukusanyaji, urekebishaji wa data, na usanidi wa kitanzi kwa jukwaa la kiotomatiki. Lakini kwa nini wanahitaji maboresho haya? Mashirika mengi sasa yanafuatilia mabadiliko ya kidijitali ili kufanya mazingira yao ya TEHAMA kuwa ya kisasa na ya ushindani. Kwa bora au mbaya zaidi, wahandisi wengi wa mtandao huwa watengenezaji wa mtandao ama kwa maslahi binafsi au kwa amri ya usimamizi.
Mashirika yanatambua kuwa templates za mtandao za kibinafsi hazitatui tatizo la silos na huongeza tu ufanisi kwa kiasi fulani. Red Hat Ansible Automation Platform hutoa miundo ya data ya ukali na ya kawaida ili kudhibiti data ya msingi kwenye kifaa cha mtandao kwa utaratibu. Hiyo ni, watumiaji wanaacha hatua kwa hatua mbinu za usanidi wa mtu binafsi kwa kupendelea mbinu za kisasa zaidi kwa kusisitiza teknolojia (kwa mfano, anwani za IP, VLAN, LLDP, n.k.), badala ya utekelezaji maalum wa muuzaji.
Hii inamaanisha kuwa siku za moduli za amri za kuaminika na zilizothibitishwa na usanidi zimehesabiwa? Kwa hali yoyote. Moduli za rasilimali za mtandao zinazotarajiwa hazitatumika katika hali zote au kwa kila muuzaji, kwa hivyo moduli za amri na usanidi bado zitahitajika na wahandisi wa mtandao kwa utekelezaji fulani. Madhumuni ya moduli za nyenzo ni kurahisisha violezo vikubwa vya Jinja na kuhalalisha usanidi wa kifaa ambao haujaandaliwa kuwa umbizo la JSON. Kwa moduli za nyenzo, itakuwa rahisi kwa mitandao iliyopo kubadilisha usanidi wake kuwa jozi za thamani-msingi zilizoundwa ambazo zinawakilisha chanzo cha ukweli ambacho ni rahisi kusoma. Kwa kutumia jozi za thamani-ufunguo zilizoundwa, unaweza kuhama kutoka kutekeleza usanidi kwenye kila kifaa hadi kufanya kazi na data huru iliyoundwa na kuleta mitandao mbele ya mbinu ya miundomsingi kama nambari.
Ni moduli gani za rasilimali zitakuja katika Ansible Engine 2.9?
Kabla ya kukuambia kwa undani nini kitatokea katika Ansible 2.9, hebu tukumbuke jinsi tulivyogawanya wigo mzima wa kazi.
Tulitambua kategoria 7 na tukapeana rasilimali mahususi za mtandao kwa kila moja:
Kumbuka: Nyenzo zenye herufi nzito zilipangwa na kutekelezwa katika Sheria 2.9.
Kulingana na maoni kutoka kwa wateja wa biashara na jumuiya, ilikuwa ni jambo la busara kushughulikia kwanza moduli hizo zinazohusiana na itifaki za topolojia ya mtandao, uboreshaji na violesura.
Moduli zifuatazo za nyenzo ziliundwa na timu ya Mtandao wa Ansible na zinalingana na majukwaa yanayotumika na Red Hat:
Moduli zifuatazo zinatengenezwa na jumuiya ya Ansible:
exos_lldp_global
- kutoka Extreme Networks.nxos_bfd_interfaces
- kutoka Cisconxos_telemetry
- kutoka Cisco
Kama unavyoona, dhana ya moduli za rasilimali inafaa katika mkakati wetu wa kuzingatia jukwaa. Hiyo ni, tunajumuisha uwezo na kazi zinazohitajika katika Ansible yenyewe ili kusaidia kusawazisha katika ukuzaji wa moduli za mtandao, na pia kurahisisha kazi ya watumiaji katika kiwango cha majukumu na vitabu vya kucheza. Ili kupanua uundaji wa moduli za rasilimali, timu ya Ansible ilitoa zana ya Kuunda Moduli.
Mipango ya Ansible 2.10 na zaidi
Mara tu Ansible 2.9 itakapotolewa, tutakuwa tukifanyia kazi seti inayofuata ya moduli za nyenzo za Ansible 2.10, ambazo zinaweza kutumika kusanidi zaidi topolojia ya mtandao na sera, k.m.
Rasilimali na kuanza
Chanzo: mapenzi.com