Kitabu cha kucheza cha Ndani. Vipengele vya mtandao katika Injini mpya ya Ansible 2.9

Kitabu cha kucheza cha Ndani. Vipengele vya mtandao katika Injini mpya ya Ansible 2.9

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 bodi ya toleo kwenye GitHub na kusoma mpango wa maendeleo kutolewa kwa Injini ya Red Hat Ansible 2.9 kwenye ukurasa wa wiki kwa Mtandao wa Ansible.

Kama tulivyotangaza hivi karibuni, Jukwaa la Kujiendesha la Kofia Nyekundu sasa inajumuisha Ansible Tower, Ansible Engine na maudhui yote ya Mtandao Ansible. Siku hizi, majukwaa maarufu ya mitandao yanatekelezwa kupitia moduli zinazofaa. Kwa mfano:

  • 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, iliyochapishwa hapa.

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 chapisho Ken Celenza kuhusu jinsi inavyoweza kuwa vigumu na chungu kuchanganua na kusanifisha data ya kweli.

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 Zaidi ya vichanganuzi 1200 kutoka kwa wavulana huko Cisco.

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.

Kitabu cha kucheza cha Ndani. Vipengele vya mtandao katika Injini mpya ya Ansible 2.9

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.

Kitabu cha kucheza cha Ndani. Vipengele vya mtandao katika Injini mpya ya Ansible 2.9

Kitabu cha kucheza cha Ndani. Vipengele vya mtandao katika Injini mpya ya Ansible 2.9

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:

Kitabu cha kucheza cha Ndani. Vipengele vya mtandao katika Injini mpya ya Ansible 2.9

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:

Kitabu cha kucheza cha Ndani. Vipengele vya mtandao katika Injini mpya ya Ansible 2.9

Moduli zifuatazo zinatengenezwa na jumuiya ya Ansible:

  • exos_lldp_global - kutoka Extreme Networks.
  • nxos_bfd_interfaces - kutoka Cisco
  • nxos_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. ACL, OSPF na BGP. Mpango wa maendeleo bado unaweza kurekebishwa, kwa hivyo ikiwa una maoni, tafadhali yaripoti Jumuiya ya Mtandao inayohusika.

Rasilimali na kuanza

Taarifa kwa vyombo vya habari kuhusu Ansible Automation Platform
Ansible Automation Platform Blog
Mustakabali wa utoaji wa maudhui katika Ansible
Tafakari juu ya kubadilisha muundo wa mradi unaostahili

Chanzo: mapenzi.com

Kuongeza maoni