GaidÄmajÄ Red Hat Ansible Engine 2.9 izlaidumÄ ir iekļauti aizraujoÅ”i uzlabojumi, no kuriem daži ir apskatÄ«ti Å”ajÄ rakstÄ. KÄ vienmÄr, mÄs esam izstrÄdÄjuÅ”i Ansible tÄ«kla uzlabojumus atklÄti, ar kopienas atbalstu. Pievienojieties mums - apskatiet
KÄ mÄs nesen paziÅojÄm,
- Arista EOS
- Cisco IOS
- Cisco IOS XR
- Cisco NX-OS
- KadiÄ·is Junos
- VyOS
Lai iegÅ«tu pilnu sarakstu ar platformÄm, kuras pilnÄ«bÄ atbalsta Red Hat, izmantojot Ansible Automation abonementu,
Ko mÄs esam iemÄcÄ«juÅ”ies
PÄdÄjo Äetru gadu laikÄ mÄs esam daudz iemÄcÄ«juÅ”ies par tÄ«kla automatizÄcijas platformas izstrÄdi. To arÄ« mÄs uzzinÄjÄm kÄ platformas artefaktus izmanto Ansible rokasgrÄmatÄs un lomÄs galalietotÄji. Un lÅ«k, ko mÄs uzzinÄjÄm:
- OrganizÄcijas automatizÄ ierÄ«ces no ne tikai viena, bet daudziem pÄrdevÄjiem.
- AutomatizÄcija ir ne tikai tehniska, bet arÄ« kultÅ«ras parÄdÄ«ba.
- TÄ«klu automatizÄcija mÄrogÄ ir grÅ«tÄka, nekÄ Å”Ä·iet, automatizÄcijas projektÄÅ”anas arhitektÅ«ras pamatprincipu dÄļ.
Kad pirms vairÄk nekÄ gada apspriedÄm savus ilgtermiÅa izaugsmes plÄnus, mÅ«su korporatÄ«vie klienti prasÄ«ja sekojoÅ”o:
- Faktu apkopoÅ”ana ir labÄk jÄstandartizÄ un jÄsaskaÅo ar automatizÄcijas darbplÅ«smÄm visÄs ierÄ«cÄs.
- IerÄ«ces konfigurÄciju atjauninÄÅ”anai arÄ« jÄbÅ«t standartizÄtai un konsekventai, lai Ansible moduļi apstrÄdÄtu cikla otro pusi pÄc faktu apkopoÅ”anas.
- Mums ir vajadzÄ«gas stingras un atbalstÄ«tas metodes ierÄ«ces konfigurÄcijas pÄrvÄrÅ”anai strukturÄtos datos. Pamatojoties uz to, patiesÄ«bas avotu var pÄrvietot no tÄ«kla ierÄ«ces.
Faktu uzlabojumi
Faktu vÄkÅ”ana no tÄ«kla ierÄ«cÄm, izmantojot Ansible, bieži notiek nejauÅ”i. TÄ«mekļa platformÄm ir dažÄdas pakÄpes faktu vÄkÅ”anas iespÄjas, taÄu tÄm ir maz vai nav funkcionalitÄtes datu parsÄÅ”anai un standartizÄÅ”anai atslÄgu un vÄrtÄ«bu pÄros. LasÄ«t
IespÄjams, esat pamanÄ«juÅ”i, ka strÄdÄjam pie Ansible Network Engine lomas. Protams, 24 2.8 lejupielÄdes vÄlÄk, tÄ«kla dzinÄja loma ir Ätri kļuvusi par vienu no populÄrÄkajÄm Ansible lomÄm Ansible Galaxy tÄ«kla automatizÄcijas scenÄrijos. Pirms lielu daļu no tÄ pÄrcÄlÄm uz Ansible 2.9, lai sagatavotos tam, kas bÅ«s nepiecieÅ”ams Ansible XNUMX, Ŕī Ansible loma nodroÅ”inÄja pirmo rÄ«ku komplektu, kas palÄ«dzÄja parsÄt komandas, pÄrvaldÄ«t komandas un vÄkt datus tÄ«kla ierÄ«cÄm.
Ja zinÄt, kÄ izmantot Network Engine, tas ir ļoti efektÄ«vs veids, kÄ vÄkt, parsÄt un standartizÄt faktu datus izmantoÅ”anai Ansible. Å Ä«s lomas trÅ«kums ir tÄds, ka katrai platformai un visÄm tÄ«kla darbÄ«bÄm ir jÄizveido vesela virkne parsÄtÄju. Lai saprastu, cik grÅ«ti ir izveidot, nosÅ«tÄ«t un uzturÄt parsÄtÄjus, apskatiet
ÄŖsumÄ, faktu iegÅ«Å”ana no ierÄ«cÄm un to normalizÄÅ”ana atslÄgu-vÄrtÄ«bu pÄros ir bÅ«tiska automatizÄcijai plaÅ”Ä mÄrogÄ, taÄu to ir grÅ«ti sasniegt, ja jums ir daudz pÄrdevÄju un tÄ«kla platformu.
Katrs Ansible 2.9 tÄ«kla faktu modulis tagad var analizÄt tÄ«kla ierÄ«ces konfigurÄciju un atgriezt strukturÄtus datus ā bez papildu bibliotÄkÄm, Ansible lomÄm vai pielÄgotiem parsÄtÄjiem.
KopÅ” versijas Ansible 2.9 katru reizi, kad tiek izlaists atjauninÄts tÄ«kla modulis, faktu modulis tiek uzlabots, lai nodroÅ”inÄtu datus par Å”o konfigurÄcijas sadaļu. Tas nozÄ«mÄ, ka faktu un moduļu izstrÄde tagad notiek tÄdÄ paÅ”Ä tempÄ, un tiem vienmÄr bÅ«s kopÄ«ga datu struktÅ«ra.
TÄ«kla ierÄ«ces resursu konfigurÄciju var izgÅ«t un pÄrveidot strukturÄtos datos divos veidos. Abos veidos varat apkopot un pÄrveidot konkrÄtu resursu sarakstu, izmantojot jaunu atslÄgvÄrdu gather_network_resources
. Resursu nosaukumi atbilst moduļu nosaukumiem, kas ir ļoti Ärti.
VÄcot faktus:
Izmantojot atslÄgvÄrdu gather_facts
jÅ«s varat izgÅ«t paÅ”reizÄjo ierÄ«ces konfigurÄciju rokasgrÄmatas sÄkumÄ un pÄc tam izmantot to visÄ rokasgrÄmatÄ. NorÄdiet atseviŔķus resursus, kas jÄizgÅ«st no ierÄ«ces.
- hosts: arista
module_defaults:
eos_facts:
gather_subset: min
gather_network_resources:
- interfaces
gather_facts: True
IespÄjams, Å”ajos piemÄros esat pamanÄ«jis kaut ko jaunu, proti - gather_facts: true
tagad ir pieejams vietÄjo faktu apkopoÅ”anai tÄ«kla ierÄ«cÄm.
Izmantojot tīkla faktu moduli tieŔi:
- name: collect interface configuration facts
eos_facts:
gather_subset: min
gather_network_resources:
- interfaces
RokasgrÄmatÄ ir sniegti Å”Ädi fakti par saskarni:
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
IevÄrojiet, kÄ Ansible izgÅ«st sÄkotnÄjo konfigurÄciju no Arista ierÄ«ces un pÄrveido to strukturÄtos datos, lai tos izmantotu kÄ standarta atslÄgu un vÄrtÄ«bu pÄrus pakÄrtotajiem uzdevumiem un darbÄ«bÄm.
Interfeisa faktus var pievienot Ansible saglabÄtajiem mainÄ«gajiem un nekavÄjoties vai vÄlÄk izmantot kÄ ievadi resursu modulÄ« eos_interfaces
bez papildu apstrÄdes vai konvertÄÅ”anas.
Resursu moduļi
TÄtad, mÄs izvilkÄm faktus, normalizÄjÄm datus, ievietojÄm tos standartizÄtÄ iekÅ”ÄjÄ datu struktÅ«ras diagrammÄ un saÅÄmÄm gatavu patiesÄ«bas avotu. UrrÄ! Tas, protams, ir lieliski, taÄu mums joprojÄm ir kaut kÄdÄ veidÄ jÄpÄrvÄrÅ” atslÄgu un vÄrtÄ«bu pÄri atpakaļ uz konkrÄto konfigurÄciju, ko sagaida konkrÄtÄ ierÄ«ces platforma. Tagad mums ir nepiecieÅ”ami platformai specifiski moduļi, lai izpildÄ«tu Ŕīs jaunÄs faktu vÄkÅ”anas un normalizÄÅ”anas prasÄ«bas.
Kas ir resursu modulis? IerÄ«ces konfigurÄcijas sadaļas varat uzskatÄ«t par Ŕīs ierÄ«ces nodroÅ”inÄtajiem resursiem. TÄ«kla resursu moduļi ir apzinÄti ierobežoti lÄ«dz vienam resursam, un tos var sakraut kÄ celtniecÄ«bas blokus, lai konfigurÄtu sarežģītus tÄ«kla pakalpojumus. RezultÄtÄ prasÄ«bas un specifikÄcijas resursu modulim ir dabiski vienkÄrÅ”otas, jo resursu modulis var lasÄ«t Šø konfigurÄt noteiktu tÄ«kla pakalpojumu tÄ«kla ierÄ«cÄ.
Lai izskaidrotu, ko dara resursu modulis, apskatÄ«sim rokasgrÄmatas piemÄru, kurÄ parÄdÄ«ta idempodenta darbÄ«ba, izmantojot jaunus tÄ«kla resursu faktus un 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
KÄ redzat, no ierÄ«ces savÄktie dati tiek pÄrsÅ«tÄ«ti tieÅ”i uz atbilstoÅ”o resursu moduli bez konvertÄÅ”anas. Palaižot rokasgrÄmatu, tÄ izgÅ«st vÄrtÄ«bas no ierÄ«ces un salÄ«dzina tÄs ar paredzamajÄm. Å ajÄ piemÄrÄ atgrieztÄs vÄrtÄ«bas ir tÄdas, kÄ paredzÄts (tas ir, tiek pÄrbaudÄ«tas konfigurÄcijas novirzes) un tiek ziÅots, vai konfigurÄcija ir mainÄ«jusies.
IdeÄls veids, kÄ noteikt konfigurÄcijas novirzi, ir saglabÄt faktus Ansible saglabÄtajos mainÄ«gajos un periodiski tos izmantot kopÄ ar resursu moduli pÄrbaudes režīmÄ. Å Ä« ir vienkÄrÅ”a metode, lai noskaidrotu, vai kÄds ir manuÄli mainÄ«jis vÄrtÄ«bas. VairumÄ gadÄ«jumu organizÄcijas atļauj veikt izmaiÅas un konfigurÄt manuÄli, lai gan daudzas darbÄ«bas tiek veiktas, izmantojot Ansible Automation.
KÄ jaunie resursu moduļi atŔķiras no iepriekÅ”Äjiem?
TÄ«kla automatizÄcijas inženierim ir 3 galvenÄs atŔķirÄ«bas starp resursu moduļiem Ansible 2.9 versijÄ un iepriekÅ”ÄjÄs versijÄs.
1) KonkrÄtajam tÄ«kla resursam (ko var uzskatÄ«t arÄ« par konfigurÄcijas sadaļu) moduļi un fakti attÄ«stÄ«sies visÄs atbalstÄ«tajÄs tÄ«kla operÄtÄjsistÄmÄs vienlaicÄ«gi. MÄs domÄjam, ka, ja Ansible atbalsta resursu konfigurÄciju vienÄ tÄ«kla platformÄ, mums tas jÄatbalsta visur. Tas vienkÄrÅ”o resursu moduļu izmantoÅ”anu, jo tÄ«kla automatizÄcijas inženieris tagad var konfigurÄt resursu (piemÄram, LLDP) visÄs tÄ«kla operÄtÄjsistÄmÄs ar vietÄjiem un atbalstÄ«tiem moduļiem.
2) Resursu moduļos tagad ir iekļauta stÄvokļa vÄrtÄ«ba.
merged
: konfigurÄcija ir sapludinÄta ar sniegto konfigurÄciju (noklusÄjums);replaced
: resursa konfigurÄcija tiks aizstÄta ar sniegto konfigurÄciju;overridden
: resursa konfigurÄcija tiks aizstÄta ar sniegto konfigurÄciju; nevajadzÄ«gie resursu gadÄ«jumi tiks dzÄsti;deleted
: resursa konfigurÄcija tiks dzÄsta/atjaunota pÄc noklusÄjuma.
3) Resursu moduļos tagad ir iekļautas stabilas atdeves vÄrtÄ«bas. Kad tÄ«kla resursa modulis ir veicis (vai ierosinÄjis) vajadzÄ«gÄs izmaiÅas tÄ«kla ierÄ«cÄ, tas atgriež tos paÅ”us atslÄgu un vÄrtÄ«bu pÄrus rokasgrÄmatÄ.
before
: konfigurÄcija ierÄ«cÄ strukturÄtu datu veidÄ pirms uzdevuma veikÅ”anas;after
: ja ierÄ«ce ir mainÄ«jusies (vai var mainÄ«ties, ja tiek izmantots testa režīms), iegÅ«tÄ konfigurÄcija tiks atgriezta kÄ strukturÄti dati;commands
: ierÄ«cÄ tiek izpildÄ«tas visas konfigurÄcijas komandas, lai to iestatÄ«tu vÄlamajÄ stÄvoklÄ«.
Ko tas viss nozÄ«mÄ? KÄpÄc tas ir svarÄ«gi?
Å is ieraksts aptver daudzus sarežģītus jÄdzienus, taÄu mÄs ceram, ka galu galÄ jums bÅ«s labÄka izpratne par to, ko uzÅÄmuma klienti patiesÄ«bÄ pieprasa vÄkÅ”ana, datu normalizÄÅ”ana un cilpas konfigurÄÅ”ana automatizÄcijas platformai. Bet kÄpÄc viÅiem ir vajadzÄ«gi Å”ie uzlabojumi? Daudzas organizÄcijas Å”obrÄ«d veic digitÄlo transformÄciju, lai padarÄ«tu savu IT vidi elastÄ«gÄku un konkurÄtspÄjÄ«gÄku. LabÄk vai sliktÄk, daudzi tÄ«kla inženieri kļūst par tÄ«kla izstrÄdÄtÄjiem vai nu paÅ”labuma dÄļ, vai arÄ« pÄc vadÄ«bas pavÄles.
OrganizÄcijas apzinÄs, ka atseviŔķu tÄ«kla veidÅu automatizÄcija neatrisina tvertÅu problÄmu un tikai zinÄmÄ mÄrÄ palielina efektivitÄti. Red Hat Ansible Automation Platform nodroÅ”ina stingrus un normatÄ«vus resursu datu modeļus, lai programmatiski pÄrvaldÄ«tu pamatÄ esoÅ”os datus tÄ«kla ierÄ«cÄ. Tas nozÄ«mÄ, ka lietotÄji pakÄpeniski atsakÄs no individuÄlÄm konfigurÄcijas metodÄm par labu modernÄkÄm metodÄm, liekot uzsvaru uz tehnoloÄ£ijÄm (piemÄram, IP adresÄm, VLAN, LLDP utt.), nevis uz konkrÄtu pÄrdevÄja ievieÅ”anu.
Vai tas nozÄ«mÄ, ka uzticamu un pÄrbaudÄ«tu komandu moduļu un konfigurÄcijas dienas ir skaitÄ«tas? NekÄdÄ gadÄ«jumÄ. Paredzamie tÄ«kla resursu moduļi nebÅ«s piemÄrojami visos gadÄ«jumos vai katram piegÄdÄtÄjam, tÄpÄc komandu un konfigurÄcijas moduļi joprojÄm bÅ«s nepiecieÅ”ami tÄ«kla inženieriem noteiktÄm implementÄcijÄm. Resursu moduļu mÄrÄ·is ir vienkÄrÅ”ot lielas Jinja veidnes un normalizÄt nestrukturÄtas ierÄ«Äu konfigurÄcijas strukturÄtÄ JSON formÄtÄ. Izmantojot resursu moduļus, esoÅ”ajiem tÄ«kliem bÅ«s vieglÄk pÄrveidot savu konfigurÄciju strukturÄtos atslÄgu un vÄrtÄ«bu pÄros, kas ir viegli lasÄms patiesÄ«bas avots. Izmantojot strukturÄtus atslÄgu-vÄrtÄ«bu pÄrus, varat pÄriet no konfigurÄcijas darbÄ«bas katrÄ ierÄ«cÄ uz darbu ar neatkarÄ«giem strukturÄtiem datiem un izvirzÄ«t tÄ«klus infrastruktÅ«ras kÄ koda pieejas priekÅ”plÄnÄ.
KÄdi resursu moduļi bÅ«s pieejami Ansible Engine 2.9?
Pirms mÄs detalizÄti pastÄstÄ«sim, kas notiks Ansible 2.9, atcerÄsimies, kÄ mÄs sadalÄ«jÄm visu darba apjomu.
MÄs identificÄjÄm 7 kategorijas un katrai pieŔķīrÄm Ä«paÅ”us tÄ«kla resursus:
PiezÄ«me: resursi treknrakstÄ tika plÄnoti un ieviesti Ansible 2.9.
Pamatojoties uz atsauksmÄm no uzÅÄmuma klientiem un kopienas, bija loÄ£iski vispirms risinÄt tos moduļus, kas saistÄ«ti ar tÄ«kla topoloÄ£ijas protokoliem, virtualizÄciju un saskarnÄm.
Å os resursu moduļus izstrÄdÄja Ansible Network komanda, un tie atbilst Red Hat atbalstÄ«tajÄm platformÄm:
Ansible kopiena ir izstrÄdÄjusi Å”Ädus moduļus:
exos_lldp_global
- no Extreme Networks.nxos_bfd_interfaces
- no Cisconxos_telemetry
- no Cisco
KÄ redzat, resursu moduļu koncepcija iekļaujas mÅ«su uz platformu orientÄtajÄ stratÄÄ£ijÄ. Tas ir, mÄs iekļaujam nepiecieÅ”amÄs iespÄjas un funkcijas paÅ”Ä Ansible, lai atbalstÄ«tu standartizÄciju tÄ«kla moduļu izstrÄdÄ, kÄ arÄ« vienkÄrÅ”otu lietotÄju darbu Ansible lomu un rotaļu grÄmatu lÄ«menÄ«. Lai paplaÅ”inÄtu resursu moduļu izstrÄdi, Ansible komanda izlaida rÄ«ku Module Builder.
PlÄni Ansible 2.10 un jaunÄkÄm versijÄm
Kad Ansible 2.9 bÅ«s izlaists, mÄs strÄdÄsim pie nÄkamÄ Ansible 2.10 resursu moduļu komplekta, ko var izmantot, lai tÄlÄk konfigurÄtu tÄ«kla topoloÄ£iju un politiku, piemÄram,
Resursi un darba sÄkÅ”ana
Avots: www.habr.com