Barruko Jolas Liburua. Sare-funtzioak Ansible Engine 2.9 berrian

Barruko Jolas Liburua. Sare-funtzioak Ansible Engine 2.9 berrian

Red Hat Ansible Engine 2.9-ren hurrengo bertsioak hobekuntza zirraragarriak dakartza, horietako batzuk artikulu honetan eztabaidatzen direnak. Beti bezala, Ansible Network hobekuntzak garatzen ari gara modu irekian, komunitatearen laguntzarekin. Bat egin gurekin - begiratu gai-taula GitHub-en eta garapen plana aztertzea Red Hat Ansible Engine 2.9 kaleratzea wiki orrian Ansible Sarea.

Duela gutxi iragarri genuen bezala, Red Hat Ansible Automatizazio Plataforma orain Ansible Tower, Ansible Engine eta Ansible Network eduki guztiak biltzen ditu. Gaur egun, sareko plataforma ezagunenak Ansible moduluen bidez ezartzen dira. Adibidez:

  • Arista EOS
  • Cisco IOS
  • Cisco IOS XR
  • Cisco NX-OS
  • Juniper Junos
  • VyOS

Red Hat-ek Ansible Automation harpidetzaren bidez guztiz onartzen dituen plataformen zerrenda osoa lortzeko, hemen argitaratua.

Zer ikasi dugu

Azken lau urteotan, asko ikasi dugu sareko automatizazio plataforma bat garatzen. Hori ere ikasi genuen gisa plataformako artefaktuak Ansible liburu eta roletan erabiltzen dituzte azken erabiltzaileek. Eta hona hemen aurkitu duguna:

  • Erakundeak gailuak automatizatzen ari dira saltzaile batetik ez ezik, saltzaile askotatik.
  • Automatizazioa ez da soilik fenomeno teknikoa, kulturala ere bada.
  • Sareak eskalan automatizatzea dirudiena baino zailagoa da automatizazioaren diseinuaren oinarrizko arkitektura-printzipioengatik.

Duela urtebete baino gehiago epe luzeko hazkunde planei buruz eztabaidatu genuenean, gure bezero korporatiboek honako hau eskatu zuten:

  • Datu-bilketa hobeto estandarizatu eta gailu guztietan automatizazio-fluxuekin lerrokatu behar da.
  • Gailuko konfigurazioak eguneratzeak ere estandarizatu eta koherentea izan behar du, Ansible moduluek zikloaren bigarren erdia kudeatzeko gertakariak bildu ondoren.
  • Gailuaren konfigurazioa datu egituratuetan bihurtzeko metodo zorrotzak eta lagunduak behar ditugu. Oinarri honetan, egiaren iturria sareko gailutik mugitu daiteke.

Egiazko hobekuntzak

Ansible erabiliz sareko gailuetatik gertakariak biltzea sarritan ausaz gertatzen da. Web-oinarritutako plataformek gertakariak biltzeko gaitasun maila desberdinak dituzte, baina funtzionalitate gutxi edo bat ere ez dute datuen irudikapena gako-balio bikoteetan analizatzeko eta estandarizatzeko. Irakurri post Ken Celenzari buruz zein zaila eta mingarria izan daitekeen datu faktikoak aztertzea eta estandarizatzea.

Baliteke Ansible Network Engine rolean lanean ari ginela ohartu zinela. Jakina, 24K deskargatu ondoren, Network Engine rola azkar bihurtu da Ansible Galaxy-ko Ansible rol ezagunenetako bat sareko automatizazio agertokietarako. Hau asko Ansible 2.8-ra eraman aurretik, Ansible 2.9-n beharko litzatekeena prestatzeko, Ansible rol honek komandoak analizatzen, komandoak kudeatzen eta sareko gailuetarako datuak biltzen laguntzeko lehen tresna-multzoa eman zuen.

Network Engine erabiltzen badakizu, hau oso modu eraginkorra da Ansible-n erabiltzeko gertakarien datuak biltzeko, analizatzeko eta normalizatzeko. Rol honen desabantaila da plataforma bakoitzerako eta sareko jarduera guztietarako analizatzaile sorta bat sortu behar duzula. Analizatzaileak sortzea, bidaltzea eta mantentzea zein zaila den ulertzeko, begiratu 1200 analizatzaile baino gehiago Cisco-ko mutilen eskutik.

Laburbilduz, gailuetatik gertakariak lortzea eta gako-balio pareetan normalizatzea ezinbestekoa da eskalan automatizatzeko, baina hori lortzea zaila da saltzaile eta sare-plataforma asko dituzunean.

Ansible 2.9-ko sareko egitateen modulu bakoitzak sareko gailu baten konfigurazioa azter dezake eta datu egituratuak itzul ditzake, liburutegi gehigarririk, Ansible rol edo analizatzaile pertsonalizaturik gabe.

Ansible 2.9tik aurrera, eguneratutako sare-modulu bat askatzen den bakoitzean, egien modulua hobetzen da konfigurazioaren atal honi buruzko datuak emateko. Hau da, gertakarien eta moduluen garapena erritmo berean gertatzen da orain, eta beti izango dute datu-egitura komuna.

Sareko gailu bateko baliabideen konfigurazioa bi modutan berreskuratu eta datu egituratuetan bihur daiteke. Bi eratara, baliabide-zerrenda zehatz bat bildu eta eraldatu dezakezu gako-hitz berri bat erabiliz gather_network_resources. Baliabideen izenak moduluen izenekin bat datoz, eta hori oso erosoa da.

Gertaerak biltzen diren bitartean:

Gako-hitz bat erabiliz gather_facts Uneko gailuaren konfigurazioa erreproduzitu dezakezu liburuaren hasieran, eta, ondoren, liburu osoan zehar erabil dezakezu. Zehaztu gailutik berreskuratu beharreko baliabide indibidualak.

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

Baliteke adibide hauetan zerbait berria nabaritzea, hots - gather_facts: true orain eskuragarri dago sareko gailuetarako datu natiboak biltzeko.

Sareko gertaeren modulua zuzenean erabiliz:

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

Jokalari liburuak interfazeari buruzko datu hauek itzultzen ditu:

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

Kontuan izan Ansible-k nola berezko konfigurazioa berreskuratzen duen Arista gailutik eta nola eraldatzen duen datu egituratuetan gako-balio-pare estandar gisa erabiltzeko beheranzko zeregin eta eragiketetarako.

Interfazearen gertaerak Ansible gordetako aldagaietan gehi daitezke eta berehala edo geroago erabil daitezke baliabide-modulu baterako sarrera gisa eos_interfaces prozesatu edo bihurketa gehigarririk gabe.

Baliabide Moduluak

Beraz, gertakariak atera, datuak normalizatu, barneko datu-egituraren diagrama estandarizatu batean sartu eta egiaren iturri prest jaso dugu. Aupa! Hau bikaina da, noski, baina hala ere gako-balio bikoteak gailu-plataforma zehatzak espero duen konfigurazio zehatzera itzuli behar ditugu nolabait. Orain plataformako modulu espezifikoak behar ditugu gertakariak biltzeko eta normalizatzeko baldintza berri hauek betetzeko.

Zer da baliabide modulua? Gailu baten konfigurazio-atalak gailu horrek emandako baliabide gisa pentsa ditzakezu. Sareko baliabideen moduluak baliabide bakarrera mugatzen dira nahita eta eraikuntza-blokeak bezala pila daitezke sareko zerbitzu konplexuak konfiguratzeko. Ondorioz, baliabide-modulu baten eskakizunak eta zehaztapenak modu naturalean sinplifikatzen dira, baliabide-modulua irakur daiteke eta ΠΈ konfiguratu sareko zerbitzu zehatz bat sareko gailu batean.

Baliabide-modulu batek zer egiten duen azaltzeko, ikus dezagun sareko baliabideen datu eta modulu berriak erabiliz eragiketa idempodent bat erakusten duen adibide-liburu bat. 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

Ikus dezakezunez, gailutik jasotako datuak zuzenean dagokion baliabide-modulura transferitzen dira, bihurketarik gabe. Abian jartzen denean, playbook-ak balioak berreskuratzen ditu gailutik eta espero direnekin alderatzen ditu. Adibide honetan, itzultzen diren balioak espero zirenak dira (hau da, konfigurazio desbideraketak egiaztatzen ditu) eta konfigurazioa aldatu den ala ez adierazten du.

Konfigurazio-noraeza detektatzeko modu aproposa gertakariak Ansible gordetako aldagaietan gordetzea da eta aldian-aldian baliabide-moduluarekin ikuskapen moduan erabiltzea. Norbaitek balioak eskuz aldatu dituen ikusteko metodo sinplea da hau. Kasu gehienetan, erakundeek eskuz onartzen dituzte aldaketak eta konfigurazioa, nahiz eta eragiketa asko Ansible Automation-en bidez egiten diren.

Zertan bereizten dira baliabide-modulu berriak aurrekoetatik?

Sareko automatizazioko ingeniari batentzat, 3 desberdintasun nagusi daude Ansible 2.9 eta aurreko bertsioen baliabide-moduluen artean.

1) Sare-baliabide jakin baterako (konfigurazio atal gisa ere har daitekeena), moduluak eta gertaerak onartzen diren sareko sistema eragile guztietan aldi berean garatuko dira. Uste dugu Ansiblek baliabideen konfigurazioa sareko plataforma batean onartzen badu, edonon onartu beharko genukeela. Honek baliabide-moduluen erabilera errazten du sareko automatizazio-ingeniari batek baliabide bat (adibidez, LLDP) konfigura dezakeelako jatorrizko eta onartzen diren moduluekin sareko sistema eragile guztietan.

2) Baliabide-moduluek egoera-balio bat dute orain.

  • merged: konfigurazioa emandako konfigurazioarekin bateratzen da (lehenetsia);
  • replaced: Baliabideen konfigurazioa emandako konfigurazioarekin ordezkatuko da;
  • overridden: Baliabideen konfigurazioa emandako konfigurazioarekin ordezkatuko da; beharrezkoak ez diren baliabide-instantziak ezabatu egingo dira;
  • deleted: Baliabideen konfigurazioa ezabatu/berrezarri egingo da.

Barruko Jolas Liburua. Sare-funtzioak Ansible Engine 2.9 berrian

3) Baliabide-moduluek itzulera-balio egonkorrak dituzte orain. Sareko baliabideen moduluak sareko gailuan beharrezko aldaketak egin (edo proposatu) dituenean, gako-balio bikote berdinak itzultzen ditu joko-liburura.

  • before: gailuan konfigurazioa zereginaren aurretik datu egituratuen moduan;
  • after: gailua aldatu bada (edo alda daiteke proba modua erabiltzen bada), ondoriozko konfigurazioa datu egituratu gisa itzuliko da;
  • commands: Gailuan konfigurazio-komando guztiak exekutatzen dira nahi duzun egoerara ekartzeko.

Barruko Jolas Liburua. Sare-funtzioak Ansible Engine 2.9 berrian

Barruko Jolas Liburua. Sare-funtzioak Ansible Engine 2.9 berrian

Zer esan nahi du honek guztiak? Zergatik da garrantzitsua?

Argitalpen honek kontzeptu konplexu asko biltzen ditu, baina azkenean enpresa-bezeroek automatizazio-plataforma baterako bilketa, datuen normalizazioa eta begizta konfigurazioa eskatzen dutena hobeto ulertuko duzula espero dugu. Baina zergatik behar dituzte hobekuntza horiek? Erakunde asko gaur egun eraldaketa digitala bilatzen ari dira beren IT inguruneak arinagoak eta lehiakorragoak izan daitezen. Onerako edo txarrerako, sareko ingeniari asko sareko garatzaile bihurtzen dira, bere interesagatik edo kudeaketaren aginduz.

Erakundeak konturatzen ari dira sareko txantiloi indibidualak automatizatzeak ez duela siloen arazoa konpontzen eta eraginkortasuna neurri batean areagotzen duela. Red Hat Ansible Automation Platform-ek baliabideen datu-eredu zorrotzak eta normatiboak eskaintzen ditu sareko gailu batean azpiko datuak programatikoki kudeatzeko. Hau da, erabiltzaileak apurka-apurka konfigurazio-metodo indibidualak alde batera uzten ari dira metodo modernoagoen mesedetan, teknologietan (adibidez, IP helbideak, VLANak, LLDP, etab.) arreta jarriz, saltzaile zehatz baten inplementazioan beharrean.

Horrek esan nahi al du aginte-modulu eta konfigurazio fidagarri eta frogatuen egunak zenbatuta daudela? Inola ere ez. Espero diren sare-baliabide-moduluak ez dira aplikagarriak izango kasu guztietan edo saltzaile guztietan, beraz, komando- eta konfigurazio-moduluak sareko ingeniariek beharko dituzte inplementazio jakin batzuetarako. Baliabide moduluen helburua Jinja txantiloi handiak sinplifikatzea eta egituratu gabeko gailuen konfigurazioak JSON formatu egituratu batean normalizatzea da. Baliabide-moduluekin, errazagoa izango da lehendik dauden sareek beren konfigurazioa eraldatzea egiaren iturri irakurterraza adierazten duten gako-balio bikote egituratuetan. Egituratutako gako-balio bikoteak erabiliz, gailu bakoitzean exekutatzen diren konfigurazioetatik datu egituratu independenteekin lan egitera pasa zaitezke eta sareak azpiegitura-kode gisako ikuspegiaren abangoardian jar ditzakezu.

Zer baliabide-modulu etorriko dira Ansible Engine 2.9-n?

Ansible 2.9-n zer gertatuko den zehatz-mehatz kontatu aurretik, gogora dezagun nola banatu genuen lan-esparru osoa.

7 kategoria identifikatu ditugu eta bakoitzari sareko baliabide espezifikoak esleitu dizkiogu:

Barruko Jolas Liburua. Sare-funtzioak Ansible Engine 2.9 berrian

Oharra: lodiz idatzitako baliabideak Ansible 2.9-n planifikatu eta ezarri ziren.
Enpresa-bezeroen eta komunitatearen iritzietan oinarrituta, logikoa zen lehenik sare-topologia-protokoloekin, birtualizazioarekin eta interfazeekin lotutako modulu horiei aurre egitea.
Baliabide modulu hauek Ansible Network taldeak garatu ditu eta Red Hat-ek onartzen dituen plataformei dagozkie:

Barruko Jolas Liburua. Sare-funtzioak Ansible Engine 2.9 berrian

Modulu hauek Ansible komunitateak garatzen ditu:

  • exos_lldp_global - Extreme Networks-en eskutik.
  • nxos_bfd_interfaces - Ciscoren eskutik
  • nxos_telemetry - Ciscoren eskutik

Ikus dezakezunez, baliabideen moduluen kontzeptua plataforman zentratutako estrategian sartzen da. Hau da, beharrezkoak diren gaitasun eta funtzioak sartzen ditugu Ansiblen bertan, sareko moduluen garapenean estandarizazioa laguntzeko, eta erabiltzaileen lana errazteko ere Ansible rol eta liburuen mailan. Baliabideen moduluen garapena zabaltzeko, Ansible taldeak Module Builder tresna kaleratu zuen.

Ansible 2.10 eta aurreragorako planak

Ansible 2.9 kaleratu ondoren, Ansible 2.10rako baliabide-moduluen hurrengo multzoan lan egingo dugu, sarearen topologia eta politika gehiago konfiguratzeko erabil daitekeena, adibidez. ACL, OSPF eta BGP. Garapen plana oraindik egokitu daiteke, beraz, iruzkinak badituzu, jakinarazi mesedez Ansible Network komunitatea.

Baliabideak eta hastea

Ansible Automation Platform-i buruzko prentsa-oharra
Ansible Automation Platform bloga
Edukiaren entregaren etorkizuna Ansible-n
Ansible proiektuaren egitura aldatzeari buruzko gogoetak

Iturria: www.habr.com

Gehitu iruzkin berria