Serbestberdana dahatû ya Red Hat Ansible Engine 2.9 çêtirkirinên balkêş tîne, ku hin ji wan di vê gotarê de têne vegirtin. Mîna her gav, me bi piştgirîya civatê bi eşkereyî çêtirkirina Torgiloka Ansible pêş dixe. Tevlî me bibin - lê binêrin
Wekî ku me vê dawiyê ragihand,
- Arista EOS
- Cisco IOS
- Cisco IOS XR
- Cisco NX-OS
- Juniper Junos
- VyOS
Ji bo navnîşek bêkêmasî ya platformên ku bi tevahî ji hêla Red Hat ve bi abonetiya Ansible Automation ve têne piştgirî kirin,
Em çi fêr bûne
Di çar salên çûyî de, me di derbarê pêşxistina platformek otomasyona torê de gelek tişt fêr bûn. Em jî hîn bûn çawa berhemên platformê di pirtûkên lîstik û rolên Ansible de ji hêla bikarhênerên dawîn ve têne bikar anîn. Û li vir tiştê ku me dît:
- Rêxistin ne tenê ji yek, lê ji gelek firoşkaran amûrên otomatîk dikin.
- Otomasyon ne tenê fenomenek teknîkî ye, lê di heman demê de yek çandî ye.
- Ji ber prensîbên bingehîn ên mîmarî yên sêwirana otomasyonê, xweberkirina torên di pîvanê de ji ku xuya dike dijwartir e.
Dema ku me salek berê li ser plansaziyên mezinbûna xweya dirêj-dirêj nîqaş kir, xerîdarên me yên pargîdanî yên jêrîn xwestin:
- Pêdivî ye ku berhevkirina rastiyê di hemî cîhazan de çêtir were standardîzekirin û bi rêyên xebata otomasyonê re were hevrêz kirin.
- Nûvekirina mîhengên li ser cîhazê jî pêdivî ye ku standardkirin û domdar be da ku modulên Ansible piştî berhevkirina rastiyan nîvê duyemîn çerxê rêve bibin.
- Ji bo veguheztina veavakirina cîhazê li daneyên birêkûpêk pêdivî bi rêbazên hişk û piştgirî hene. Li ser vê bingehê, çavkaniya rastiyê ji cîhaza torê dikare were veguheztin.
Pêşveçûnên rastiyê
Berhevkirina rastiyan ji cîhazên torê yên ku Ansible bikar tînin bi gelemperî bi rengek rasthatî pêk tê. Platformên-based Web xwedan astên cihêreng ên kapasîteyên berhevkirina rastiyan in, lê ji bo parsekkirin û standardîzekirina nûnertiya daneyan di cotên nirx-kilît de fonksiyonek hindik an jî tune. Xwendin
Dibe ku we ferq kiriye ku em li ser rola Enerjiya Torgiloka Ansible dixebitin. Bi xwezayî, 24K dakêşan paşê, rola Motora Torê zû bûye yek ji rolên herî populer ên Ansible di Ansible Galaxy de ji bo senaryoyên otomasyona torê. Berî ku me pir ji vê bar kir nav Ansible 2.8 da ku ji bo tiştê ku dê di Ansible 2.9 de hewce bike amade bikin, vê rola Ansible yekem koma amûran peyda kir da ku alîkariya parkirina fermanan, birêvebirina fermanan û berhevkirina daneyan ji bo amûrên torê bike.
Ger hûn dizanin ka meriv çawa Motora Torê bikar tîne, ev rêyek pir bikêr e ji bo berhevkirin, parkirin û standardîzekirina daneyên rastiyê ji bo karanîna di Ansible de. Kêmasiya vê rolê ev e ku hûn hewce ne ku ji bo her platformê û ji bo hemî çalakiya torê komek parsek biafirînin. Ji bo ku hûn fêm bikin ka ew çiqas dijwar e ku meriv parseran çêbikin, barkirin û domandin, lê binêre
Bi kurtasî, wergirtina rastiyan ji cîhazan û normalîzekirina wan di nav cotên nirx-kilît de ji bo otomatê di pîvanê de pêdivî ye, lê gihîştina vê dema ku we gelek firoşkar û platformên torê hene dijwar e.
Her modulek rastiya torê ya di Ansible 2.9 de naha dikare veavakirina amûrek torê analîz bike û daneyên sazkirî vegerîne - bêyî pirtûkxaneyên zêde, rolên Ansible an parsekên xwerû.
Ji Ansible 2.9-ê ve, her carê ku modulek torê ya nûvekirî tê berdan, modula rastiyê çêtir dibe da ku daneyên li ser vê beşa veavakirinê peyda bike. Ango, pêşkeftina rastiyan û modulan naha bi heman lezê diqewime, û ew ê her gav xwediyê avahiyek daneya hevbeş bin.
Veavakirina çavkaniyan li ser amûrek torê dikare bi du awayan were vegerandin û veguheztin daneyên sazkirî. Bi her du awayan, hûn dikarin bi karanîna keywordek nû navnîşek taybetî ya çavkaniyan berhev bikin û veguherînin gather_network_resources
. Navên çavkaniyê bi navên modulê re li hev dikin, ku pir hêsan e.
Dema berhevkirina rastiyan:
Bi kar tînin a keyword gather_facts
hûn dikarin veavakirina cîhaza heyî di destpêka lîstika lîstikê de vegerînin, û dûv re wê li seranserê pirtûka lîstikê bikar bînin. Çavkaniyên takekesî yên ku ji cîhazê têne derxistin diyar bikin.
- hosts: arista
module_defaults:
eos_facts:
gather_subset: min
gather_network_resources:
- interfaces
gather_facts: True
Dibe ku we di van mînakan de tiştek nû dîtibe, ango - gather_facts: true
naha ji bo berhevkirina rastiya xwemalî ya ji bo amûrên torê heye.
Rasterast modula rastiya torê bikar bînin:
- name: collect interface configuration facts
eos_facts:
gather_subset: min
gather_network_resources:
- interfaces
Pirtûka lîstikê di derbarê navberê de rastiyên jêrîn vedigerîne:
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
Bala xwe bidinê ka Ansible çawa veavakirina xwemalî ji cîhaza Arista distîne û wê vediguhezîne daneya birêkûpêk da ku ji bo kar û xebatên jêrîn wekî cotên key-nirxa standard bikar bîne.
Rastiyên navberê dikarin li guhêrbarên hilanîn ên Ansible werin zêdekirin û yekser an paşê wekî têketina modulek çavkaniyê werin bikar anîn eos_interfaces
bêyî pêvajoyek an veguherînek zêde.
Modulên Çavkaniyê
Ji ber vê yekê, me rastiyan derxist, daneyan normalîze kir, wan di nav diagramek avahiya daneya navxweyî ya standardkirî de bicîh kir û çavkaniyek amade ya rastiyê wergirt. Hooray! Bê guman, ev pir xweş e, lê dîsa jî pêdivî ye ku em bi rengekî cotên key-nirxê vegerînin veavakirina taybetî ya ku platforma cîhaza taybetî hêvî dike. Em naha hewceyê modulên platform-taybet in da ku van daxwazên nû yên berhevkirin û normalîzekirinê bicîh bînin.
Modulek çavkaniyê çi ye? Hûn dikarin beşên veavakirina amûrekê wekî çavkaniyên ku ji hêla wê cîhazê ve têne peyda kirin bifikirin. Modulên çavkaniya torê bi mebest bi çavkaniyek yekane têne sînordar kirin û dikarin wekî blokên avahî werin berhev kirin da ku karûbarên torê yên tevlihev mîheng bikin. Wekî encamek, pêdivî û taybetmendiya modulek çavkaniyê bi xwezayî hêsan têne hêsan kirin, ji ber ku modula çavkaniyê dikare bixwîne и karûbarek torê ya taybetî li ser amûrek torê mîheng bikin.
Ji bo ravekirina ka modulek çavkaniyê çi dike, ka em li mînakek lîstika lîstikê binêrin ku bi karanîna rastiyên çavkaniya torê û modulek nû operasyonek îdempodent nîşan dide. 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
Wekî ku hûn dikarin bibînin, daneyên ku ji cîhazê têne berhev kirin rasterast bêyî veguheztinê ji modula çavkaniya têkildar re têne veguheztin. Dema ku dest pê dike, pirtûka lîstikê nirxan ji cîhazê vedigire û wan bi yên bendewar re berhev dike. Di vê nimûneyê de, nirxên ku hatine vegerandin wekî ku tê hêvî kirin in (ango, ew ji bo veguheztinên mîhengê kontrol dike) û rapor dike ka konfigurasyon guheriye.
Awayê îdeal ji bo tesbîtkirina dravê veavakirinê ev e ku meriv rastiyan di guhêrbarên hilanînkirî yên Ansible de hilîne û wan bi modula çavkaniyê di moda vekolînê de bi awayekî periyodîk bikar bîne. Ev rêbazek hêsan e ku hûn bibînin ka kesek bi destan nirxan guhertiye. Di pir rewşan de, rêxistin bi destan destûr didin guhertin û veavakirinê, her çend gelek operasyon bi rêya Ansible Automation ve têne kirin.
Modulên çavkaniya nû ji yên berê çawa cûda dibin?
Ji bo endezyarek otomasyona torê, 3 cûdahiyên sereke di navbera modulên çavkaniyê yên di Ansible 2.9 û guhertoyên berê de hene.
1) Ji bo çavkaniyek torê ya diyar (ku dikare wekî beşek vesazkirinê jî were hesibandin), modul û rastî dê di hemî pergalên xebitandinê yên torê yên piştgirî de bi hevdemî pêşve bibin. Em difikirin ku ger Ansible veavakirina çavkaniyê li ser yek platformek torê piştgirî bike, divê em wê li her deverê piştgirî bikin. Ev karanîna modulên çavkaniyê hêsan dike ji ber ku endezyarek otomasyona torê naha dikare çavkaniyek (wek LLDP) li ser hemî pergalên xebitandinê yên torê bi modulên xwemalî û piştgirî vesaz bike.
2) Modulên çavkaniyê naha nirxek dewletê vedihewîne.
merged
: veavakirin bi veavakirina peydakirî re tê yek kirin (default);replaced
: Veavakirina çavkaniyê dê bi veavakirina peydakirî re were guheztin;overridden
: Veavakirina çavkaniyê dê bi veavakirina peydakirî re were guheztin; Mînakên çavkaniyê yên nepêwist dê werin jêbirin;deleted
: Veavakirina çavkaniyê dê were jêbirin/vegerandin li gorî xwerû.
3) Modulên çavkaniyê naha nirxên vegerê yên domdar vedigirin. Dema ku modula çavkaniya torê di cîhaza torê de guheztinên pêwîst çêkir (an pêşniyar kir), ew heman cotên key-nirxê vedigerîne pirtûka lîstikê.
before
: veavakirina li ser cîhazê di forma daneya sazkirî ya berî peywirê de;after
: Ger cîhaz guherî (an jî dibe ku biguhere ger moda ceribandinê were bikar anîn), veavakirina encam dê wekî daneyên sazkirî were vegerandin;commands
: Hemî fermanên veavakirinê li ser cîhazê têne xebitandin da ku wê bînin rewşa xwestinê.
Ev hemû tê çi wateyê? Çima girîng e?
Vê postê gelek têgehên tevlihev vedigire, lê em hêvî dikin ku di dawiyê de hûn ê çêtir têgihiştinek hebe ku xerîdarên pargîdanî di rastiyê de berhevok, normalîzekirina daneyê, û veavakirina loopê ji bo platformek xweseriyê dixwazin. Lê çima ew hewceyê van pêşveçûnan in? Gelek rêxistin naha li dû veguherîna dîjîtal in da ku hawîrdorên xwe yên IT-ya xwe jêhatî û pêşbaztir bikin. Baştir an xirabtir, gelek endezyarên torê an ji ber berjewendiya xwe an jî bi fermana rêveberiyê dibin pêşdebirên torê.
Rêxistin fam dikin ku bixweberkirina şablonên torê yên kesane pirsgirêka siloyan çareser nake û tenê heya radeyekê karîgeriyê zêde dike. Platforma Xweseriya Red Hat Ansible modelên daneya çavkaniyê hişk û normatîf peyda dike da ku bi bernamekî daneyên bingehîn li ser amûrek torê birêve bibe. Ango, bikarhêner hêdî hêdî dev ji rêbazên mîhengê yên takekesî berdidin û li şûna ku li ser pêkanînek firoşkarek taybetî, bi giranî li ser teknolojiyên (mînak, navnîşanên IP, VLAN, LLDP, hwd.) bi rêbazên nûjentir veqetînin.
Ma ev tê vê wateyê ku rojên modul û mîhengên fermanê yên pêbawer û îsbatkirî têne jimartin? Di tu rewşê de. Modulên çavkaniyê yên torê dê di hemî rewşan de an ji bo her firoşkarê neyên sepandin, ji ber vê yekê modulên ferman û veavakirinê dê ji bo hin pêkanînan hîn jî ji hêla endezyarên torê ve hewce bibin. Armanca modulên çavkaniyê hêsankirina şablonên mezin ên Jinja û normalîzekirina mîhengên cîhaza nesazkirî di nav formatek JSON-ya sazkirî de ye. Bi modulên çavkaniyê re, dê ji torên heyî re hêsantir be ku veavakirina xwe veguhezînin cotên sereke-nirxê birêkûpêk ên ku çavkaniyek rast-xwendina hêsan temsîl dikin. Bi karanîna cotên key-nirxa birêkûpêkkirî, hûn dikarin ji konfigurasyonên xebitandinê yên li ser her cîhazê berbi xebata bi daneya birêkûpêk a serbixwe ve biçin û toran bînin pêşiya nêzîkatiyek binesaziyê-wek kod.
Kîjan modulên çavkaniyê dê di Ansible Engine 2.9 de werin?
Berî ku em bi hûrgulî ji we re vebêjin ka dê di Ansible 2.9 de çi bibe, em bînin bîra xwe ka me çawa tevahiya qada xebatê dabeş kir.
Me 7 kategorî nas kir û çavkaniyên torê yên taybetî ji her yekê re destnîşan kirin:
Nîşe: Çavkaniyên bi stûr di Ansible 2.9 de hatine plansaz kirin û bicîh kirin.
Li ser bingeha bertekên ji xerîdarên pargîdanî û civakê, mentiqî bû ku pêşî li wan modulên ku bi protokolên topolojiya torê, virtualîzasyon, û navbeynkaran ve girêdayî ne mijûl bibin.
Modulên çavkaniyê yên jêrîn ji hêla tîmê Tora Ansible ve hatine pêşve xistin û bi platformên ku ji hêla Red Hat ve têne piştgirî kirin re têkildar in:
Modulên jêrîn ji hêla civata Ansible ve têne pêşve xistin:
exos_lldp_global
- ji Extreme Networks.nxos_bfd_interfaces
- ji Cisconxos_telemetry
- ji Cisco
Wekî ku hûn dibînin, têgeha modulên çavkaniyê di stratejiya meya platform-navendî de cih digire. Ango, em di Ansible bixwe de kabîl û fonksiyonên pêwîst vedihewînin da ku piştgirîya standardkirinê di pêşkeftina modulên torê de bikin, û her weha ji bo hêsankirina xebata bikarhêneran di asta rol û pirtûkên lîstikê de Ansible. Ji bo berfirehkirina pêşkeftina modulên çavkaniyê, tîmê Ansible amûra Module Builder berdan.
Planên ji bo Ansible 2.10 û pê ve
Gava ku Ansible 2.9 serbest hat berdan, em ê li ser modulên çavkaniyê yên din ên ji bo Ansible 2.10 bixebitin, ku dikare were bikar anîn da ku hûn topolojî û polîtîkaya torê bêtir mîheng bikin, mînakî.
Çavkanî û dest pê kirin
Source: www.habr.com