Phau Ntawv Hauv Tsev. Network ua haujlwm hauv Ansible Cav 2.9

Phau Ntawv Hauv Tsev. Network ua haujlwm hauv Ansible Cav 2.9

Kev tso tawm tom ntej ntawm Red Hat Ansible Cav 2.9 coj kev txhim kho zoo siab, qee qhov tau tham hauv kab lus no. Raws li ib txwm muaj, peb tau txhim kho Ansible Network kev txhim kho qhib, nrog kev txhawb nqa hauv zej zog. Koom nrog peb - ​​saib teeb meem board ntawm GitHub thiab kawm txog txoj kev txhim kho rau Kev tso tawm Red Hat Ansible Cav 2.9 ntawm nplooj ntawv wiki rau Kev Network.

Raws li peb tau tshaj tawm tsis ntev los no, Liab Kaus Npog Qhov Kev Ua Haujlwm Automation Platform tam sim no suav nrog Ansible Ntauwd, Ansible Cav thiab tag nrho cov ntsiab lus Ansible Network. Niaj hnub no, feem ntau nrov networking platforms yog siv los ntawm Ansible modules. Piv txwv li:

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

Rau tag nrho cov npe ntawm cov platforms uas tau txais kev txhawb nqa los ntawm Red Hat los ntawm Ansible Automation subscription, luam tawm ntawm no.

Peb tau kawm dab tsi

Tau plaub xyoos dhau los, peb tau kawm ntau yam txog kev tsim lub network automation platform. Peb kuj kawm tau li ntawd thiab yuav ua li cas platform artifacts yog siv hauv Ansible playbooks thiab lub luag haujlwm los ntawm cov neeg siv kawg. Thiab ntawm no yog qhov peb pom:

  • Cov koom haum yog automating cov cuab yeej los ntawm tsis yog ib qho, tab sis ntau tus neeg muag khoom.
  • Automation tsis yog tsuas yog ib qho kev tshwm sim, tab sis kuj yog kev coj noj coj ua.
  • Automating tes hauj lwm ntawm nplai yog qhov nyuaj dua li nws zoo li vim yog cov ntsiab lus tseem ceeb ntawm kev tsim automation.

Thaum peb tham txog peb cov phiaj xwm kev loj hlob mus ntev tshaj li ib xyoos dhau los, peb cov neeg siv khoom tau nug txog cov hauv qab no:

  • Kev sau qhov tseeb yuav tsum ua kom zoo dua tus qauv thiab ua raws li kev ua haujlwm automation thoob plaws txhua yam khoom siv.
  • Kev hloov kho cov kev teeb tsa ntawm lub cuab yeej kuj yuav tsum tau ua raws li tus qauv thiab zoo ib yam kom Ansible modules tswj qhov thib ob ib nrab ntawm lub voj voog tom qab sau qhov tseeb.
  • Peb xav tau cov txheej txheem nruj thiab txhawb nqa los hloov kho cov cuab yeej teeb tsa rau hauv cov ntaub ntawv tsim. Raws li qhov no, lub hauv paus ntawm qhov tseeb tuaj yeem txav los ntawm lub network ntaus ntawv.

Qhov tseeb txhim kho

Sau qhov tseeb los ntawm cov khoom siv hauv network siv Ansible feem ntau tshwm sim ntawm qhov tsis sib xws. Web-based platforms muaj ntau qhov sib txawv ntawm qhov muaj peev xwm sib sau ua ke, tab sis lawv tsis muaj qhov ua haujlwm me me los yog tsis muaj kev ua haujlwm rau kev txheeb xyuas thiab ua qauv rau cov neeg sawv cev ntawm cov ntaub ntawv hauv cov khub tseem ceeb. Nyeem tswg Ken Celenza txog qhov nyuaj thiab mob npaum li cas nws tuaj yeem txheeb xyuas thiab ntsuas cov ntaub ntawv tseeb.

Tej zaum koj yuav tau pom peb ua haujlwm ntawm Ansible Network Engine lub luag haujlwm. Lawm, 24K rub tawm tom qab, lub luag haujlwm Network Cav tau dhau los ua ib qho ntawm Ansible nyiam tshaj plaws hauv Ansible Galaxy rau network automation scenarios. Ua ntej peb txav ntau qhov no mus rau Ansible 2.8 los npaj rau yam uas yuav xav tau hauv Ansible 2.9, lub luag haujlwm Ansible no tau muab thawj cov cuab yeej los pab txheeb xyuas cov lus txib, tswj cov lus txib, thiab sau cov ntaub ntawv rau lub network.

Yog tias koj paub siv Network Cav, qhov no yog ib txoj hauv kev zoo heev los sau, txheeb xyuas, thiab tsim cov ntaub ntawv tseeb rau siv hauv Ansible. Qhov tsis zoo ntawm lub luag haujlwm no yog tias koj yuav tsum tsim kom muaj tag nrho pawg parser rau txhua lub platform thiab rau txhua qhov haujlwm hauv network. Txhawm rau nkag siab tias nws nyuaj npaum li cas los tsim, xa khoom, thiab tswj cov parsers, saib Ntau tshaj 1200 parsers los ntawm cov txiv neej ntawm Cisco.

Hauv kev txiav txim siab, tau txais qhov tseeb los ntawm cov khoom siv thiab normalizing lawv mus rau hauv tus nqi tseem ceeb yog qhov tseem ceeb rau automation ntawm nplai, tab sis ua tiav qhov no yog qhov nyuaj thaum koj muaj ntau tus neeg muag khoom thiab lub network platforms.

Txhua lub network qhov tseeb module hauv Ansible 2.9 tam sim no tuaj yeem txheeb xyuas qhov teeb tsa ntawm lub network ntaus ntawv thiab xa cov ntaub ntawv rov qab - yam tsis muaj cov tsev qiv ntawv ntxiv, Ansible lub luag haujlwm lossis kev cai parsers.

Txij li thaum Ansible 2.9, txhua zaus ib qho tshiab network module raug tso tawm, qhov tseeb module tau txhim kho los muab cov ntaub ntawv hais txog ntu no ntawm kev teeb tsa. Ntawd yog, kev txhim kho ntawm qhov tseeb thiab cov qauv tam sim no tshwm sim ntawm tib lub sijhawm, thiab lawv yuav ib txwm muaj cov ntaub ntawv sib xws.

Kev teeb tsa ntawm cov peev txheej ntawm cov cuab yeej siv network tuaj yeem rov qab tau thiab hloov mus rau hauv cov ntaub ntawv hauv ob txoj hauv kev. Hauv ob txoj hauv kev, koj tuaj yeem sau thiab hloov pauv cov npe tshwj xeeb ntawm cov peev txheej siv lo lus tseem ceeb tshiab gather_network_resources. Cov npe ntawm cov ntaub ntawv sib phim cov npe module, uas yooj yim heev.

Thaum sau qhov tseeb:

Siv ib lo lus tseem ceeb gather_facts koj tuaj yeem khaws cov cuab yeej tam sim no teeb tsa thaum pib ntawm phau ntawv ua si, thiab tom qab ntawd siv nws thoob plaws hauv phau ntawv ua si. Qhia tus kheej cov peev txheej yuav tsum tau muab los ntawm lub cuab yeej.

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

Tej zaum koj yuav tau pom tej yam tshiab hauv cov piv txwv no, xws li - gather_facts: true yog tam sim no muaj nyob rau hauv haiv neeg sau cov ntaub ntawv rau network pab kiag li lawm.

Siv lub network fact module ncaj qha:

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

Lub playbook rov qab qhov tseeb hauv qab no txog lub interface:

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

Daim ntawv ceeb toom yuav ua li cas Ansible retrieves lub haiv neeg configuration los ntawm Arista ntaus ntawv thiab hloov nws mus rau hauv cov ntaub ntawv tsim los siv raws li tus qauv tseem ceeb-tus nqi khub rau downstream dej num thiab kev khiav hauj lwm.

Cov lus qhia qhov tseeb tuaj yeem muab ntxiv rau Ansible khaws cia cov hloov pauv thiab siv tam sim lossis tom qab raws li kev nkag mus rau cov khoom siv module eos_interfaces tsis muaj kev ua ntxiv lossis hloov dua siab tshiab.

Resource Modules

Yog li, peb tau rho tawm qhov tseeb, normalize cov ntaub ntawv, haum rau lawv mus rau hauv ib tug standardized internal cov ntaub ntawv qauv daim duab kos duab thiab muaj ib tug npaj txhij-ua qhov tseeb. Hooray! Qhov no yog qhov zoo, tau kawg, tab sis peb tseem xav tau qee qhov hloov pauv tus nqi tseem ceeb rov qab mus rau qhov kev teeb tsa tshwj xeeb uas lub platform tshwj xeeb xav tau. Peb tam sim no xav tau lub platform tshwj xeeb modules kom tau raws li qhov tseeb tshiab-sau thiab normalization yuav tsum tau.

Qhov kev pab cuam module yog dab tsi? Koj tuaj yeem xav txog cov khoom siv qhov kev teeb tsa raws li cov peev txheej muab los ntawm lub cuab yeej ntawd. Cov peev txheej hauv network tau txhob txwm txwv rau ib qho kev pabcuam thiab tuaj yeem muab tso ua ke zoo li lub tsev thaiv los teeb tsa cov kev pabcuam hauv network nyuaj. Yog li ntawd, qhov yuav tsum tau ua thiab cov lus qhia tshwj xeeb rau cov peev txheej module tau yooj yim, txij li cov peev txheej tuaj yeem nyeem tau ΠΈ configure ib tug tshwj xeeb network kev pab cuam ntawm ib tug network ntaus ntawv.

Txhawm rau piav qhia seb qhov peev txheej tau ua li cas, cia peb saib ib qho piv txwv playbook uas qhia tau hais tias kev ua haujlwm tsis zoo siv cov peev txheej tshiab thiab cov khoom siv network. 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

Raws li koj tuaj yeem pom, cov ntaub ntawv sau los ntawm lub cuab yeej raug xa ncaj qha mus rau cov khoom siv sib txuas yam tsis muaj kev hloov pauv. Thaum tso tawm, phau ntawv ua si khaws cov txiaj ntsig ntawm lub cuab yeej thiab muab piv nrog cov txiaj ntsig xav tau. Hauv qhov piv txwv no, cov nqi xa rov qab yog raws li qhov xav tau (uas yog, nws kuaj xyuas qhov sib txawv ntawm cov teeb tsa) thiab qhia seb qhov kev teeb tsa puas tau hloov pauv.

Txoj hauv kev zoo tshaj plaws los txheeb xyuas qhov kev teeb tsa drift yog khaws cov lus tseeb hauv Ansible khaws cia sib txawv thiab siv sijhawm ib ntus nrog cov peev txheej hauv kev tshuaj xyuas hom. Qhov no yog ib txoj hauv kev yooj yim los saib seb puas muaj ib tus neeg tau hloov pauv tus nqi. Feem ntau, cov koom haum tso cai hloov pauv thiab teeb tsa manually, txawm hais tias ntau txoj haujlwm tau ua los ntawm Ansible Automation.

Cov peev txheej tshiab ua li cas txawv ntawm cov dhau los?

Rau lub network automation engineer, muaj 3 qhov sib txawv tseem ceeb ntawm cov khoom siv hauv Ansible 2.9 thiab cov qauv dhau los.

1) Rau ib qho kev pabcuam hauv lub network (uas tuaj yeem xav tias yog ntu kev teeb tsa), cov qauv thiab qhov tseeb yuav hloov pauv thoob plaws txhua qhov kev txhawb nqa network ua haujlwm ib txhij. Peb xav tias yog Ansible txhawb kev tsim cov peev txheej ntawm ib lub network platform, peb yuav tsum txhawb nws txhua qhov chaw. Qhov no ua kom yooj yim rau kev siv cov peev txheej vim tias lub network automation engineer tam sim no tuaj yeem teeb tsa cov peev txheej (xws li LLDP) ntawm txhua lub network kev khiav haujlwm nrog cov haiv neeg thiab txhawb nqa.

2) Cov peev txheej tam sim no suav nrog lub xeev tus nqi.

  • merged: lub configuration yog merged nrog configuration muab (default);
  • replaced: Cov kev pab cuam configuration yuav raug hloov nrog cov configuration muab;
  • overridden: Cov kev pab cuam configuration yuav raug hloov nrog cov configuration muab; cov ntaub ntawv tsis tsim nyog yuav raug muab tshem tawm;
  • deleted: Cov peev txheej configuration yuav raug muab tshem tawm / rov qab mus rau lub neej ntawd.

Phau Ntawv Hauv Tsev. Network ua haujlwm hauv Ansible Cav 2.9

3) Cov khoom siv tam sim no suav nrog cov nqi rov qab ruaj khov. Thaum lub network kev pab cuam module tau ua (los yog npaj) qhov tsim nyog kev hloov pauv rau lub network ntaus ntawv, nws xa rov qab tus nqi tseem ceeb ntawm cov ntawv ua si.

  • before: configuration ntawm lub cuab yeej nyob rau hauv daim ntawv ntawm cov ntaub ntawv tsim ua ntej ua hauj lwm;
  • after: yog tias lub cuab yeej tau hloov pauv (lossis yuav hloov yog siv hom kev sim), qhov kev teeb tsa tshwm sim yuav raug xa rov qab raws li cov ntaub ntawv tsim;
  • commands: Txhua qhov kev teeb tsa cov lus txib khiav ntawm lub cuab yeej coj mus rau hauv lub xeev xav tau.

Phau Ntawv Hauv Tsev. Network ua haujlwm hauv Ansible Cav 2.9

Phau Ntawv Hauv Tsev. Network ua haujlwm hauv Ansible Cav 2.9

Tag nrho cov no txhais li cas? Vim li cas thiaj tseem ceeb?

Cov ntawv tshaj tawm no suav nrog ntau lub tswv yim nyuaj, tab sis peb cia siab tias thaum kawg koj yuav muaj kev nkag siab zoo dua ntawm cov neeg lag luam uas tau thov rau qhov tseeb sau, cov ntaub ntawv normalization, thiab voj configuration rau lub automation platform. Tab sis vim li cas lawv thiaj xav tau kev txhim kho no? Ntau lub koom haum tam sim no tab tom nrhiav kev hloov pauv digital los ua kom lawv cov IT ib puag ncig nrawm dua thiab sib tw. Rau qhov zoo dua los yog phem dua, ntau tus engineers network dhau los ua cov neeg tsim khoom lag luam tawm ntawm tus kheej nyiam lossis ua raws li kev tswj hwm.

Cov koom haum tau paub tias automating ib tus neeg network templates tsis daws qhov teeb meem ntawm silos thiab tsuas yog nce efficiency mus rau ib qho twg. Lub Red Hat Ansible Automation Platform muab cov ntaub ntawv nruj thiab cov qauv kev cai rau kev tswj hwm cov ntaub ntawv hauv qab ntawm lub network. Ntawd yog, cov neeg siv tau maj mam tso tseg txoj kev teeb tsa ntawm tus kheej hauv kev pom zoo ntawm ntau txoj hauv kev niaj hnub nrog kev qhia txog cov thev naus laus zis (piv txwv li, IP chaw nyob, VLANs, LLDP, thiab lwm yam), tsis yog ntawm kev siv cov neeg muag khoom tshwj xeeb.

Qhov no puas txhais tau tias cov hnub ntawm kev ntseeg siab thiab pov thawj cov lus txib thiab kev teeb tsa raug suav nrog? Tsis muaj teeb meem. Cov kev xav tau ntawm cov khoom siv network yuav tsis siv rau txhua kis lossis rau txhua tus neeg muag khoom, yog li cov lus txib thiab teeb tsa modules tseem yuav xav tau los ntawm network engineers rau qee qhov kev siv. Lub hom phiaj ntawm cov peev txheej yog los ua kom yooj yim Jinja templates loj thiab normalize unstructured ntaus configurations rau hauv ib tug qauv JSON hom. Nrog cov kev pab cuam modules, nws yuav yooj yim dua rau cov tes hauj lwm uas twb muaj lawm los hloov lawv cov kev teeb tsa mus rau hauv cov txheej txheem tseem ceeb-tus khub uas sawv cev rau qhov yooj yim-rau-nyeem tau qhov tseeb. Los ntawm kev siv cov txheej txheem tseem ceeb-tus nqi khub, koj tuaj yeem txav los ntawm kev teeb tsa ntawm txhua lub cuab yeej mus ua haujlwm nrog cov ntaub ntawv muaj kev ywj pheej thiab coj cov tes hauj lwm mus rau pem hauv ntej ntawm kev tsim kho vaj tse-raws li txoj cai.

Cov peev txheej twg yuav los hauv Ansible Cav 2.9?

Ua ntej peb qhia koj paub meej tias yuav muaj dab tsi tshwm sim hauv Ansible 2.9, cia peb nco ntsoov tias peb faib tag nrho cov haujlwm ua haujlwm li cas.

Peb tau txheeb xyuas 7 pawg thiab muab cov peev txheej tshwj xeeb hauv network rau txhua tus:

Phau Ntawv Hauv Tsev. Network ua haujlwm hauv Ansible Cav 2.9

Nco tseg: Cov peev txheej hauv siab tau npaj thiab ua tiav hauv Ansible 2.9.
Raws li kev tawm tswv yim los ntawm cov neeg siv khoom lag luam thiab cov zej zog, nws yog qhov laj thawj rau thawj zaug daws cov qauv cuam tshuam nrog cov txheej txheem topology, virtualization, thiab interfaces.
Cov peev txheej hauv qab no tau tsim los ntawm pab pawg Ansible Network thiab sib haum rau cov platforms txhawb nqa los ntawm Red Hat:

Phau Ntawv Hauv Tsev. Network ua haujlwm hauv Ansible Cav 2.9

Cov qauv hauv qab no yog tsim los ntawm Ansible zej zog:

  • exos_lldp_global - los ntawm Extreme Networks.
  • nxos_bfd_interfaces - los ntawm Cisco
  • nxos_telemetry - los ntawm Cisco

Raws li koj tuaj yeem pom, lub tswv yim ntawm cov peev txheej modules haum rau hauv peb lub tswv yim platform-centric. Ntawd yog, peb suav nrog cov peev txheej tsim nyog thiab kev ua haujlwm hauv Ansible nws tus kheej los txhawb kev tsim qauv hauv kev tsim cov qauv hauv network, thiab tseem ua kom yooj yim rau kev ua haujlwm ntawm cov neeg siv nyob rau theem ntawm Ansible lub luag haujlwm thiab cov ntawv ua si. Txhawm rau nthuav dav kev txhim kho cov peev txheej, pab pawg Ansible tso tawm Module Builder cuab yeej.

Npaj rau Ansible 2.10 thiab tshaj

Thaum Ansible 2.9 raug tso tawm, peb yuav ua haujlwm rau cov txheej txheem txuas ntxiv rau Ansible 2.10, uas tuaj yeem siv los txuas ntxiv teeb tsa network topology thiab txoj cai, piv txwv li. ACL, OSPF thiab BGP. Txoj kev npaj txhim kho tseem tuaj yeem hloov kho, yog li yog tias koj muaj lus pom, thov qhia rau Ansible Network zej zog.

Cov peev txheej thiab pib

Xovxwm tshaj tawm txog Ansible Automation Platform
Ansible Automation Platform Blog
Lub neej yav tom ntej ntawm cov ntsiab lus xa hauv Ansible
Kev xav txog kev hloov pauv Ansible project qauv

Tau qhov twg los: www.hab.com

Ntxiv ib saib