Buka ea Lipapali e ka Hare. Likarolo tsa marang-rang ho Enjine e ncha ea Ansible 2.9

Buka ea Lipapali e ka Hare. Likarolo tsa marang-rang ho Enjine e ncha ea Ansible 2.9

Phallo e tlang ea Red Hat Ansible Engine 2.9 e tlisa lintlafatso tse thabisang, tseo tse ling tsa tsona li tšohloang sehloohong sena. Joalo ka mehla, esale re nts'etsapele lintlafatso tsa Ansible Network pepeneneng, ka tšehetso ea sechaba. Ikopanye le rona - sheba boto ea khatiso ho GitHub le ho ithuta moralo oa ntlafatso oa ho lokolloa ha Red Hat Ansible Engine 2.9 leqepheng la wiki bakeng sa Ansible Network.

Joalo ka ha re sa tsoa phatlalatsa, Sethala sa Red Hat Ansible Automation hona joale e kenyelletsa Ansible Tower, Ansible Engine le litaba tsohle tsa Ansible Network. Matsatsing ana, li-platform tsa marang-rang tse tsebahalang haholo li sebelisoa ka li-module tsa Ansible. Ka mohlala:

  • Arista EOS
  • Cisco iOS
  • Cisco IOS XR
  • Cisco NX-OS
  • Junipere Junos
  • VyOS

Bakeng sa lethathamo le felletseng la li-platform tse tšehetsoeng ka botlalo ke Red Hat ka ngoliso ea Ansible Automation, e hatisitsoeng mona.

Re ithutile eng

Lilemong tse 'ne tse fetileng, re ithutile ho hongata ka ho theha sethala sa li-network automation. Re ile ra boela ra ithuta seo kamoo Lisebelisoa tsa sethala li sebelisoa ho Ansible playbooks le likarolo ke basebelisi ba ho qetela. Mme ke seo re se fumaneng:

  • Mekhatlo e iketsetsa lisebelisoa tse tsoang ho e seng feela, empa barekisi ba bangata.
  • Automation hase feela ketsahalo ea tekheniki, empa hape ke setso.
  • Ho iketsetsa marang-rang ka bongata ho thata ho feta kamoo ho bonahalang ka teng ka lebaka la melao-motheo ea meralo ea moralo oa boiketsetso.

Ha re buisana ka merero ea rona ea kholo ea nako e telele selemong se fetileng, bareki ba rona ba likhoebo ba ile ba kopa tse latelang:

  • Pokello ea 'nete e hloka ho ts'oaroa hantle le ho hokahana le li-automation workflows ho lisebelisoa tsohle.
  • Ho nchafatsa litlhophiso ho sesebelisoa ho boetse ho hloka ho ts'oaroa le ho ts'oana e le hore li-module tsa Ansible li sebetsane le halofo ea bobeli ea potoloho ka mor'a ho bokella lintlha.
  • Re hloka mekhoa e matla le e ts'ehetsoeng ea ho fetolela tlhophiso ea sesebelisoa hore e be data e hlophisitsoeng. Motheong ona, mohloli oa 'nete o ka tlosoa mochine oa marang-rang.

Lintlafatso tsa 'nete

Ho bokella lintlha ho tsoa ho lisebelisoa tsa marang-rang ho sebelisa Ansible hangata ho etsahala ka tšohanyetso. Li-platform tsa marang-rang li na le bokhoni bo fapaneng ba ho bokella lintlha, empa li na le ts'ebetso e fokolang kapa ha li na ts'ebetso ea ho arola le ho tiisa kemelo ea data ka lipara tsa bohlokoa. Bala poso Ken Celenza mabapi le hore na ho ka ba thata le ho utloisa bohloko hakae ho sekaseka le ho tiisa lintlha tsa 'nete.

Mohlomong u hlokometse hore re sebetsa karolo ea Ansible Network Engine. Ka tlhaho, 24K downloads hamorao, karolo ea Network Engine e se e fetohile e 'ngoe ea likarolo tse tsebahalang haholo ho Ansible Galaxy bakeng sa maemo a automation a marang-rang. Pele re fetisetsa boholo ba sena ho Ansible 2.8 ho itokisetsa se tla hlokahala ho Ansible 2.9, karolo ena e Ansible e fane ka lisebelisoa tsa pele tsa ho thusa ho arola litaelo, ho laola litaelo, le ho bokella lintlha tsa lisebelisoa tsa marang-rang.

Haeba u tseba ho sebelisa Network Engine, ona ke mokhoa o sebetsang hantle haholo oa ho bokella, ho hlalosa, le ho tiisa lintlha tsa 'nete hore li sebelisoe ho Ansible. Bobebe ba karolo ena ke hore o hloka ho theha sehlopha se felletseng sa li-parser bakeng sa sethala ka seng le bakeng sa ts'ebetso eohle ea marang-rang. Ho utloisisa hore na ho thata hakae ho theha, ho tsamaisa le ho hlokomela li-parsers, sheba Ho feta 1200 parsers ho bashanyana ba Cisco.

Ka bokhutšoanyane, ho fumana lintlha ho tsoa ho lisebelisoa le ho li tloaeleha hore e be lipara tsa bohlokoa tsa bohlokoa ho bohlokoa bakeng sa boiketsetso ka bongata, empa ho fihlela sena ho thata ha o na le barekisi ba bangata le sethala sa marang-rang.

Mojule e 'ngoe le e' ngoe ea 'nete ea marang-rang ho Ansible 2.9 joale e khona ho sekaseka tlhophiso ea sesebelisoa sa marang-rang le ho khutlisa data e hlophisitsoeng - ntle le lilaebrari tse ling, likarolo tse Ansible kapa li-parsers tsa tloaelo.

Ho tloha ha Ansible 2.9, nako le nako ha mojule oa marang-rang o ntlafalitsoeng o lokolloa, mojule oa 'nete o ntlafatsoa ho fana ka lintlha tse mabapi le karolo ena ea tlhophiso. Ke hore, nts'etsopele ea lintlha le li-modules hona joale li etsahala ka lebelo le le leng, 'me li tla lula li e-na le sebopeho se tloaelehileng sa data.

Tlhophiso ea lisebelisoa ho sesebelisoa sa marang-rang e ka khutlisoa 'me ea fetoloa data e hlophisitsoeng ka litsela tse peli. Ka litsela tsena ka bobeli, o ka bokella le ho fetola lethathamo le itseng la lisebelisoa ho sebelisa lentsoe le lecha la sehlooho gather_network_resources. Mabitso a lisebelisoa a lumellana le mabitso a mojule, e leng ntho e bonolo haholo.

Ha u ntse u bokella lintlha:

Ho sebelisa lentsoe la sehlooho gather_facts o ka fumana sebopeho sa sesebelisoa sa hajoale qalong ea buka ea ho bapala, ebe o e sebelisa ho pholletsa le buka eohle ea ho bapala. Hlalosa lisebelisoa tsa motho ka mong tse tla khutlisoa sesebelisoa.

- hosts: arista
  module_defaults:
    eos_facts:
      gather_subset: min
      gather_network_resources:
      - interfaces
  gather_facts: True

Mohlomong u hlokometse ntho e ncha mehlaleng ena, e leng - gather_facts: true e se e fumaneha bakeng sa pokello ea lintlha tsa tlhaho bakeng sa lisebelisoa tsa marang-rang.

Ho sebelisa mojule oa lintlha tsa marang-rang ka kotloloho:

- name: collect interface configuration facts
  eos_facts:
    gather_subset: min
    gather_network_resources:
    - interfaces

Buka ea ho bapala e khutlisa lintlha tse latelang mabapi le sebopeho:

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

Hlokomela hore na Ansible e khutlisa tlhophiso ea matsoalloa ho sesebelisoa sa Arista ebe e e fetola data e hlophisitsoeng ho e sebelisa e le lipara tse tloaelehileng tsa bohlokoa bakeng sa mesebetsi le ts'ebetso e tlase.

Lintlha tsa Interface li ka eketsoa ho mefuta e bolokiloeng ea Ansible mme tsa sebelisoa hang-hang kapa hamorao e le kenyelletso mojuleng oa lisebelisoa eos_interfaces ntle le ts'ebetso e eketsehileng kapa phetoho.

Lisebelisoa tsa Module

Kahoo, re ile ra ntša lintlha, ra fetola datha, ra li kenya ka har'a setšoantšo se tloaelehileng sa sebopeho sa data mme ra fumana mohloli oa 'nete o seng o entsoe. Hooray! Sena se setle, ehlile, empa re ntse re hloka ho fetolela lipara tsa boleng ba bohlokoa ka tsela e itseng ho khutlela tlhophisong e khethehileng eo sethala sa lisebelisoa se lebelletseng. Hona joale re hloka li-module tse ikhethileng sethaleng ho fihlela litlhoko tsena tse ncha tsa ho bokella lintlha le maemo a tloaelehileng.

Mojule oa lisebelisoa ke eng? U ka nahana ka likarolo tsa tlhophiso ea sesebelisoa joalo ka lisebelisoa tse fanoeng ke sesebelisoa seo. Li-module tsa lisebelisoa tsa marang-rang li lekanyelitsoe ka boomo mohloling o le mong 'me li ka kenngoa joalo ka li-block tsa ho haha ​​​​ho lokisa litšebeletso tse rarahaneng tsa marang-rang. Ka lebaka leo, litlhoko le litlhaloso tsa mojule oa lisebelisoa li nolofalitsoe ka tlhaho, kaha mojule oa lisebelisoa o khona ho bala. и lokisa tshebeletso e itseng ya netweke sesebedisweng sa netweke.

Ho hlalosa hore na mojule oa lisebelisoa o etsa eng, ha re shebeng mohlala oa buka ea ho bapala e bonts'ang ts'ebetso e makatsang e sebelisang lisebelisoa tse ncha tsa marang-rang le lintlha tsa mojule. 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

Joalokaha u ka bona, lintlha tse bokelitsoeng ho sesebelisoa li fetisetsoa ka ho toba ho module ea mohloli o lumellanang ntle le phetoho. Ha e qala, buka ea ho bapala e fumana boleng ho sesebelisoa ebe e e bapisa le e lebelletsoeng. Mohlaleng ona, litekanyetso tse khutlisitsoeng li joalo ka ha ho lebelletsoe (ke hore, e hlahloba liphapang tsa tlhophiso) mme e tlaleha hore na tlhophiso e fetohile.

Mokhoa o nepahetseng oa ho lemoha ho kheloha ha tlhophiso ke ho boloka lintlha ka har'a Ansible tse bolokiloeng le ho li sebelisa nako le nako le mojule oa lisebelisoa maemong a tlhahlobo. Ena ke mokhoa o bonolo oa ho bona hore na ho na le motho ea fetotseng litekanyetso. Maemong a mangata, mekhatlo e lumella liphetoho le tlhophiso ka letsoho, leha lits'ebetso tse ngata li etsoa ka Ansible Automation.

Li-module tse ncha tsa lisebelisoa li fapana joang le tse fetileng?

Bakeng sa moenjiniere oa boiketsetso ba marang-rang, ho na le liphapang tse kholo tsa 3 lipakeng tsa li-module tsa lisebelisoa ho Ansible 2.9 le liphetolelo tse fetileng.

1) Bakeng sa mohloli o fanoeng oa marang-rang (o ka nkoang hape e le karolo ea tlhophiso), li-module le lintlha li tla fetoha ho pholletsa le mekhoa eohle ea ts'ebetso ea marang-rang e tšehetsoeng ka nako e le 'ngoe. Re nahana hore haeba Ansible e ts'ehetsa tlhophiso ea lisebelisoa sethaleng se le seng sa marang-rang, re lokela ho e tšehetsa hohle. Sena se nolofatsa ts'ebeliso ea li-module tsa lisebelisoa hobane moenjiniere oa boiketsetso ba marang-rang a ka khona ho lokisa sesebelisoa (joaloka LLDP) lits'ebetsong tsohle tsa marang-rang tse nang le li-module tsa matsoalloa le tse tšehetsoeng.

2) Li-module tsa lisebelisoa joale li kenyelletsa boleng ba naha.

  • merged: tlhophiso e kopantsoe le tlhophiso e fanoeng (ka ho sa feleng);
  • replaced: Tlhophiso ea lisebelisoa e tla nkeloa sebaka ke e fanoeng;
  • overridden: Tlhophiso ea lisebelisoa e tla nkeloa sebaka ke e fanoeng; maemo a sa hlokahaleng a lisebelisoa a tla hlakoloa;
  • deleted: Tlhophiso ea lisebelisoa e tla hlakoloa / e khutlisetsoe ho ea kamehla.

Buka ea Lipapali e ka Hare. Likarolo tsa marang-rang ho Enjine e ncha ea Ansible 2.9

3) Li-module tsa lisebelisoa joale li kenyelletsa litekanyetso tse tsitsitseng tsa ho khutlisa. Ha mochine oa lisebelisoa tsa marang-rang o entse (kapa o rehiloe) liphetoho tse hlokahalang ho sesebelisoa sa marang-rang, e khutlisetsa lipara tse tšoanang tsa bohlokoa ho buka ea ho bapala.

  • before: tlhophiso ho sesebelisoa ka mokhoa oa data e hlophisitsoeng pele ho mosebetsi;
  • after: haeba sesebelisoa se fetohile (kapa se ka fetoha haeba mokhoa oa tlhahlobo o sebelisoa), tlhophiso e hlahisoang e tla khutlisoa e le data e hlophisitsoeng;
  • commands: Litaelo leha e le life tsa tlhophiso li sebetsa ho sesebelisoa ho se tlisa boemong boo u bo batlang.

Buka ea Lipapali e ka Hare. Likarolo tsa marang-rang ho Enjine e ncha ea Ansible 2.9

Buka ea Lipapali e ka Hare. Likarolo tsa marang-rang ho Enjine e ncha ea Ansible 2.9

See sohle se bolela’ng? Ke hobane'ng ha e le ea bohlokoa?

Poso ena e akaretsa mehopolo e mengata e rarahaneng, empa re ts'epa hore qetellong u tla ba le kutloisiso e betere ea seo bareki ba likhoebo ba se kopang ha e le hantle ho bokella, ho tloaeleha ha data, le tlhophiso ea loop bakeng sa sethala sa othomathike. Empa ke hobane'ng ha ba hloka lintlafatso tsee? Mekhatlo e mengata e se e ntse e phehella phetoho ea dijithale ho etsa hore tikoloho ea bona ea IT e be mahlahahlaha le tlholisano. Ho molemo kapa ho hobe, baenjiniere ba bangata ba marang-rang ba fetoha baetsi ba marang-rang ka lebaka la boithati kapa ka taelo ea tsamaiso.

Mekhatlo e hlokomela hore ho iketsetsa li-template tsa marang-rang ka bomong ha ho rarolle bothata ba li-silos mme ho eketsa ts'ebetso ho isa tekanyong e itseng. Red Hat Ansible Automation Platform e fana ka mefuta e matla le e tloaelehileng ea lisebelisoa ho laola ka tatellano lintlha tsa motheo tsa sesebelisoa sa marang-rang. Ke hore, butle-butle basebelisi ba lahla mekhoa ea tlhophiso ea motho ka mong molemong oa mekhoa ea sejoale-joale ka ho hatisa mahlale a morao-rao (mohlala, liaterese tsa IP, VLAN, LLDP, joalo-joalo), ho fapana le ts'ebetsong e itseng ea barekisi.

Na see se bolela hore matsatsi a li-module le tlhophiso tse tšepahalang le tse netefalitsoeng li baloa? Ha ho joalo. Li-module tsa lisebelisoa tsa marang-rang tse lebelletsoeng li ke ke tsa sebetsa maemong ohle kapa bakeng sa morekisi e mong le e mong, kahoo li-module tsa taelo le tsa tlhophiso li ntse li tla hlokoa ke baenjiniere ba marang-rang bakeng sa ts'ebetsong e itseng. Sepheo sa li-module tsa lisebelisoa ke ho nolofatsa litempele tse kholo tsa Jinja le ho tloaeleha litlhophiso tsa lisebelisoa tse sa etsoang ka mokhoa o hlophisitsoeng oa JSON. Ka li-module tsa lisebelisoa, ho tla ba bonolo ho marang-rang a seng a ntse a le teng ho fetola tlhophiso ea bona hore e be lipara tse hlophisitsoeng tsa bohlokoa tse emelang mohloli oa 'nete o balehang habonolo. Ka ho sebelisa li-pair tsa bohlokoa tse hlophisitsoeng, u ka tloha ho tsamaisa litlhophiso ho sesebelisoa se seng le se seng ho ea ho sebetsa ka data e ikemetseng e hlophisitsoeng le ho tlisa marang-rang ka pele ho mokhoa oa mekhoa ea motheo-joaloka khoutu.

Ke li-module life tsa lisebelisoa tse tla tla ho Ansible Engine 2.9?

Pele re u bolella ka ho qaqileng se tla etsahala ho Ansible 2.9, a re hopoleng hore na re arola boholo ba mosebetsi joang.

Re khethile mekhahlelo ea 7 mme ra fana ka lisebelisoa tse khethehileng tsa marang-rang ho e 'ngoe le e' ngoe:

Buka ea Lipapali e ka Hare. Likarolo tsa marang-rang ho Enjine e ncha ea Ansible 2.9

Tlhokomeliso: Lisebelisoa tse ngotsoeng ka mongolo o motenya li ile tsa reroa le ho kengoa tšebetsong ho Ansible 2.9.
Ho ipapisitsoe le maikutlo a bareki ba likhoebo le sechaba, ho ne ho utloahala ho qala ka ho sebetsana le li-module tseo tse amanang le liprothokholo tsa marang-rang tsa topology, virtualization, le interfaces.
Li-module tse latelang tsa lisebelisoa li entsoe ke sehlopha sa Ansible Network mme li lumellana le liforomo tse tšehetsoeng ke Red Hat:

Buka ea Lipapali e ka Hare. Likarolo tsa marang-rang ho Enjine e ncha ea Ansible 2.9

Li-module tse latelang li ntlafatsoa ke sechaba sa Ansible:

  • exos_lldp_global - ho tsoa ho Extreme Networks.
  • nxos_bfd_interfaces - ho tloha Cisco
  • nxos_telemetry - ho tloha Cisco

Joalokaha u bona, mohopolo oa li-module tsa lisebelisoa o lumellana le leano la rona la sethala-centric. Ka mantsoe a mang, re kenyelletsa bokhoni le mesebetsi e hlokahalang ho Ansible ka boeona ho ts'ehetsa maemo ho nts'etsopele ea li-module tsa marang-rang, le ho nolofatsa mosebetsi oa basebelisi boemong ba likarolo tse Ansible le libuka tsa ho bapala. Ho holisa nts'etsopele ea li-module tsa lisebelisoa, sehlopha sa Ansible se ile sa lokolla sesebelisoa sa Module Builder.

Merero ea Ansible 2.10 le ho feta

Hang ha Ansible 2.9 e lokolloa, re tla be re sebetsa ho sete e latelang ea lisebelisoa tsa lisebelisoa bakeng sa Ansible 2.10, e ka sebelisoang ho tsoela pele ho lokisa topology le pholisi ea marang-rang, mohlala. ACL, OSPF le BGP. Morero oa nts'etsopele o ntse o ka fetoloa, kahoo haeba u na le maikutlo, ka kopo, tlaleha ho Sechaba sa Ansible Network.

Lisebelisoa le ho qala

Phatlalatso e mabapi le Ansible Automation Platform
Ansible Automation Platform Blog
Bokamoso ba ho fana ka litaba ho Ansible
Maikutlo a ho fetola sebopeho sa projeke se Ansible

Source: www.habr.com

Eketsa ka tlhaloso