Нашри дарпешистодаи Red Hat Ansible Engine 2.9 беҳбудиҳои ҷолиб меорад, ки баъзеи онҳо дар ин мақола муҳокима карда мешаванд. Чун ҳамеша, мо беҳбудиҳои шабакаи Ansible-ро ошкоро бо дастгирии ҷомеа таҳия мекардем. Ба мо ҳамроҳ шавед - тамошо кунед
Чунон ки мо ба наздикй эълон кардем,
- Arista EOS
- Cisco IOS
- Cisco IOS XR
- Cisco NX-OS
- Juniper Junos
- VyOS
Барои рӯйхати пурраи платформаҳое, ки аз ҷониби Red Hat тавассути обунаи Ansible Automation пурра дастгирӣ мешаванд,
Мо чиро омӯхтем
Дар давоми чор соли охир мо дар бораи таҳияи платформаи автоматикунонии шабака бисёр чизҳоро омӯхтем. Мо инро хам фахмидем чи тавр артефактҳои платформа дар китобҳои бозикунии Ansible ва нақшҳо аз ҷониби корбарони ниҳоӣ истифода мешаванд. Ва ин аст он чизе ки мо фаҳмидем:
- Ташкилотҳо дастгоҳҳои на танҳо як, балки бисёр фурӯшандагонро автоматӣ мекунанд.
- Автоматика на танхо ходисаи техникй, балки ходисаи маданй хам мебошад.
- Автоматикунонии шабакаҳо дар миқёс душвортар аз он аст, ки аз сабаби принсипҳои бунёдии меъмории тарҳрезии автоматикунонӣ ба назар мерасад.
Вақте ки мо нақшаҳои рушди дарозмуддати худро дар тӯли як сол пеш муҳокима кардем, мизоҷони корпоративии мо аз инҳо хоҳиш карданд:
- Ҷамъоварии далелҳо бояд беҳтар стандартизатсия карда шаванд ва бо ҷараёнҳои автоматизатсия дар тамоми дастгоҳҳо мувофиқ карда шаванд.
- Навсозии конфигуратсияҳо дар дастгоҳ инчунин бояд стандартизатсия ва мувофиқ бошад, то модулҳои Ansible пас аз ҷамъоварии далелҳо нимаи дуюми давраро ҳал кунанд.
- Мо ба усулҳои қатъӣ ва дастгирӣшаванда барои табдил додани конфигуратсияи дастгоҳ ба маълумоти сохторӣ ниёз дорем. Дар ин асос, манбаи ҳақиқатро аз дастгоҳи шабакавӣ интиқол додан мумкин аст.
Такмили далелҳо
Ҷамъоварии далелҳо аз дастгоҳҳои шабакавӣ бо истифода аз Ansible аксар вақт тасодуфӣ рух медиҳад. Платформаҳои ба веб асосёфта дорои дараҷаҳои гуногуни қобилиятҳои ҷамъоварии далелҳо мебошанд, аммо онҳо барои таҳлил ва стандартикунонии муаррифии маълумот дар ҷуфтҳои калидӣ-арзиш функсияҳои кам ё тамоман надоранд. Хондан
Шумо шояд пай бурдед, ки мо дар нақши Ansible Network Engine кор мекунем. Табиист, ки баъдтар 24К зеркашиҳо, нақши Network Engine зуд ба яке аз маъмултарин нақшҳои Ansible дар Ansible Galaxy барои сенарияҳои автоматикунонии шабака табдил ёфт. Пеш аз он ки мо қисми зиёди онро ба Ansible 2.8 интиқол диҳем, то он чизе ки дар Ansible 2.9 лозим аст, омода созем, ин нақши Ansible маҷмӯи аввалин асбобҳоро барои кӯмак ба таҳлили фармонҳо, идоракунии фармонҳо ва ҷамъоварии маълумот барои дастгоҳҳои шабака таъмин кард.
Агар шумо донед, ки чӣ тавр истифода бурдани Engine Network, ин як роҳи хеле муассири ҷамъоварӣ, таҳлил ва стандартизатсияи маълумот барои истифода дар Ansible мебошад. Камбудии ин нақш дар он аст, ки ба шумо лозим аст, ки барои ҳар як платформа ва тамоми фаъолияти шабака як гурӯҳи таҳлилгарон эҷод кунед. Барои фаҳмидани он, ки эҷод, интиқол ва нигоҳдории парсерҳо то чӣ андоза душвор аст, ба он нигаред
Хулоса, гирифтани далелҳо аз дастгоҳҳо ва ба эътидол овардани онҳо ба ҷуфтҳои калидӣ барои автоматизатсия дар миқёс муҳим аст, аммо ноил шудан ба ин вақте ки шумо фурӯшандагон ва платформаҳои шабакавӣ доред, душвор аст.
Ҳар як модули далелҳои шабакавӣ дар Ansible 2.9 акнун метавонад конфигуратсияи дастгоҳи шабакавиро таҳлил кунад ва маълумоти сохториро баргардонад - бе китобхонаҳои иловагӣ, нақшҳои Ansible ё таҳлилгари фармоишӣ.
Азбаски Ansible 2.9, ҳар дафъае, ки модули шабакавии навшуда бароварда мешавад, модули далел барои пешниҳоди маълумот дар бораи ин бахши конфигуратсия такмил дода мешавад. Яъне таҳияи далелҳо ва модулҳо ҳоло бо ҳамон суръат сурат мегирад ва онҳо ҳамеша сохтори умумии додаҳо хоҳанд дошт.
Конфигуратсияи захираҳоро дар дастгоҳи шабакавӣ метавон бо ду роҳ дарёфт ва ба маълумоти сохторӣ табдил дод. Бо ҳар ду роҳ, шумо метавонед бо истифода аз калимаи нав рӯйхати мушаххаси захираҳоро ҷамъоварӣ ва табдил диҳед gather_network_resources
. Номҳои захираҳо ба номҳои модул мувофиқат мекунанд, ки ин хеле қулай аст.
Ҳангоми ҷамъоварии далелҳо:
Истифодаи калимаи калидӣ gather_facts
шумо метавонед конфигуратсияи ҷории дастгоҳро дар оғози китоби бозӣ дарёфт кунед ва сипас онро дар тамоми китоби бозӣ истифода баред. Захираҳои инфиродӣ, ки аз дастгоҳ гирифта мешаванд, муайян кунед.
- hosts: arista
module_defaults:
eos_facts:
gather_subset: min
gather_network_resources:
- interfaces
gather_facts: True
Шумо шояд дар ин мисолҳо чизи навро мушоҳида кардаед, яъне - gather_facts: true
ҳоло барои ҷамъоварии далелҳои аслӣ барои дастгоҳҳои шабака дастрас аст.
Истифодаи модули далелҳои шабакавӣ мустақиман:
- name: collect interface configuration facts
eos_facts:
gather_subset: min
gather_network_resources:
- interfaces
Китоби бозӣ далелҳои зеринро дар бораи интерфейс бармегардонад:
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
Аҳамият диҳед, ки чӣ тавр Ansible конфигуратсияи ватаниро аз дастгоҳи Arista мегирад ва онро ба маълумоти сохторӣ табдил медиҳад, то ҳамчун ҷуфтҳои стандартии калид-арзиш барои вазифаҳо ва амалиёти поёноб истифода шавад.
Далелҳои интерфейс метавонанд ба тағирёбандаҳои захирашудаи Ansible илова карда шаванд ва фавран ё дертар ҳамчун вуруд ба модули манбаъ истифода шаванд eos_interfaces
бе коркарди иловагӣ ё табдил.
Модулҳои захиравӣ
Ҳамин тавр, мо далелҳоро истихроҷ кардем, маълумотро ба эътидол овардем, онҳоро ба диаграммаи стандартии сохтори дохилии додаҳо мувофиқат кардем ва манбаи тайёри ҳақиқат дорем. Ура! Ин, албатта, олиҷаноб аст, аммо ба мо лозим аст, ки ба ҳар ҳол ҷуфтҳои калид-арзишро ба конфигуратсияи мушаххасе, ки платформаи мушаххаси дастгоҳ интизор аст, баргардонем. Мо ҳоло ба модулҳои мушаххаси платформа ниёз дорем, то ба ин талаботҳои нави ҷамъоварӣ ва ба эътидол овардани далелҳо ҷавобгӯ бошанд.
Модули захиравӣ чист? Шумо метавонед бахшҳои конфигуратсияи дастгоҳро ҳамчун захираҳое, ки ин дастгоҳ пешниҳод кардааст, тасаввур кунед. Модулҳои захираҳои шабакавӣ қасдан бо як манбаи ягона маҳдуд карда мешаванд ва онҳоро метавон ҳамчун блокҳои сохтмонӣ барои танзими хидматҳои мураккаби шабака ҷамъ кард. Дар натиҷа, талабот ва мушаххасоти модули захиравӣ табиатан содда карда мешаванд, зеро модули захиравӣ метавонад хонда шавад. и хадамоти шабакавии мушаххасро дар дастгоҳи шабака танзим кунед.
Барои фаҳмонидани он, ки модули захиравӣ чӣ кор мекунад, биёед як китоби бозиро дида бароем, ки амалиёти идемподентро бо истифода аз далелҳо ва модули нави шабакавӣ нишон медиҳад. 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
Тавре ки шумо мебинед, маълумоте, ки аз дастгоҳ ҷамъоварӣ карда мешавад, бидуни табдилдиҳӣ мустақиман ба модули захиравии мувофиқ интиқол дода мешавад. Ҳангоми оғозёбӣ, китоби бозӣ арзишҳоро аз дастгоҳ бармегардонад ва онҳоро бо арзишҳои пешбинишуда муқоиса мекунад. Дар ин мисол, арзишҳои баргардонидашуда тавре ки интизор мерафтанд (яъне инҳирофҳои конфигуратсияро тафтиш мекунад) ва гузориш медиҳад, ки конфигуратсия тағир ёфтааст.
Роҳи беҳтарини ошкор кардани тағирёбии конфигуратсия ин нигоҳ доштани далелҳо дар тағирёбандаҳои захирашудаи Ansible ва истифодаи мунтазами онҳо бо модули захиравӣ дар реҷаи санҷиш мебошад. Ин як усули оддӣ барои дидани он аст, ки оё касе арзишҳоро дастӣ тағир додааст. Дар аксари ҳолатҳо, созмонҳо ба тағирот ва конфигуратсияро дастӣ иҷозат медиҳанд, гарчанде ки бисёре аз амалиётҳо тавассути Ansible Automation анҷом дода мешаванд.
Модулҳои нави захиравӣ аз модулҳои қаблӣ чӣ фарқ доранд?
Барои муҳандиси автоматикунонии шабака 3 фарқияти асосӣ байни модулҳои захиравӣ дар Ansible 2.9 ва версияҳои қаблӣ мавҷуданд.
1) Барои як манбаи шабакавии додашуда (ки онро ҳамчун бахши конфигуратсия низ метавон баррасӣ кард) модулҳо ва далелҳо дар тамоми системаҳои оператсионии шабакавии дастгирӣшаванда ҳамзамон таҳаввул хоҳанд кард. Мо фикр мекунем, ки агар Ansible конфигуратсияи захираҳоро дар як платформаи шабакавӣ дастгирӣ кунад, мо бояд онро дар ҳама ҷо дастгирӣ кунем. Ин истифодаи модулҳои захираҳоро осон мекунад, зеро муҳандиси автоматикунонии шабака ҳоло метавонад захираро (ба мисли LLDP) дар ҳама системаҳои оператсионии шабака бо модулҳои аслӣ ва дастгирӣшаванда танзим кунад.
2) Модулҳои захиравӣ ҳоло арзиши давлатиро дар бар мегиранд.
merged
: конфигуратсия бо конфигуратсияи додашуда якҷоя карда мешавад (пешфарз);replaced
: Конфигуратсияи манбаъ бо конфигуратсияи додашуда иваз карда мешавад;overridden
: Конфигуратсияи манбаъ бо конфигуратсияи додашуда иваз карда мешавад; мисолҳои захираҳои нолозим нест карда мешаванд;deleted
: Конфигуратсияи захираҳо ба таври пешфарз нест карда мешавад/барқарор карда мешавад.
3) Модулҳои захиравӣ ҳоло арзишҳои устувори бозгаштро дар бар мегиранд. Вақте ки модули захираҳои шабакавӣ ба дастгоҳи шабака тағйироти зарурӣ ворид кардааст (ё пешниҳод кардааст), он ҳамон ҷуфтҳои калид-арзишро ба китоби бозӣ бармегардонад.
before
: конфигуратсия дар дастгоҳ дар шакли маълумоти сохторӣ пеш аз супориш;after
: агар дастгоҳ иваз шуда бошад (ё метавонад тағир ёбад, агар реҷаи санҷиш истифода шавад), конфигуратсияи натиҷавӣ ҳамчун маълумоти сохторӣ баргардонида мешавад;commands
: Ҳама фармонҳои конфигуратсия дар дастгоҳ иҷро мешаванд, то онро ба ҳолати дилхоҳ оваранд.
Ҳамаи ин чӣ маъно дорад? Чаро муҳим аст?
Ин паём бисёр мафҳумҳои мураккабро дар бар мегирад, аммо мо умедворем, ки дар ниҳоят шумо дарки беҳтаре хоҳед дошт, ки муштариёни корхона воқеан ҷамъоварӣ, ба эътидол овардани маълумот ва конфигуратсияи ҳалқа барои платформаи автоматикунонӣ талаб мекунанд. Аммо чаро онҳо ба ин беҳбудиҳо ниёз доранд? Бисёре аз созмонҳо ҳоло дар пайи табдили рақамӣ ҳастанд, то муҳити IT-и худро боз ҳам тезтар ва рақобатпазир гардонанд. Барои беҳтар ё бад, бисёре аз муҳандисони шабака ё аз рӯи манфиати худ ё бо амри роҳбарият таҳиягарони шабака мешаванд.
Ташкилотҳо дарк мекунанд, ки автоматикунонии қолибҳои шабакаи инфиродӣ мушкилоти силосҳоро ҳал намекунад ва танҳо самаранокии онро то андозае зиёд мекунад. Платформаи Red Hat Ansible Automation моделҳои дақиқ ва меъёрии маълумотро барои ба таври барномавӣ идора кардани маълумоти асосӣ дар дастгоҳи шабака таъмин мекунад. Яъне, корбарон тадриҷан аз усулҳои конфигуратсияи инфиродӣ даст кашида, ба манфиати усулҳои муосиртар бо таваҷҷӯҳ ба технологияҳо (масалан, суроғаҳои IP, VLAN, LLDP ва ғайра), на ба татбиқи мушаххаси фурӯшанда.
Оё ин маънои онро дорад, ки рӯзҳои модулҳои фармон ва конфигуратсияи боэътимод ва собитшуда рақамгузорӣ шудаанд? Дар ҳеҷ сурат. Модулҳои захираҳои шабакавии интизоршуда дар ҳама ҳолатҳо ё барои ҳар як фурӯшанда татбиқ намегарданд, аз ин рӯ модулҳои фармон ва конфигуратсия ба муҳандисони шабака барои татбиқи муайян ниёз доранд. Ҳадафи модулҳои захиравӣ содда кардани қолибҳои калони Jinja ва ба эътидол овардани конфигуратсияҳои сохторнашудаи дастгоҳ ба формати сохтории JSON мебошад. Бо модулҳои захиравӣ, барои шабакаҳои мавҷуда табдил додани конфигуратсияи онҳо ба ҷуфтҳои сохтории калид-арзиш, ки манбаи ба осонӣ хондани ҳақиқатро ифода мекунанд, осонтар хоҳад буд. Бо истифода аз ҷуфтҳои сохтории калид-арзиш, шумо метавонед аз конфигуратсияҳои иҷрошаванда дар ҳар як дастгоҳ ба кор бо додаҳои сохтории мустақил гузаред ва шабакаҳоро ба як равиши инфрасохтор ҳамчун код расонед.
Кадом модулҳои захиравӣ дар Ansible Engine 2.9 ворид мешаванд?
Пеш аз он ки мо ба шумо муфассал нақл кунем, ки дар Ansible 2.9 чӣ рӯй хоҳад дод, биёед дар хотир дорем, ки мо тамоми доираи корро чӣ гуна тақсим кардем.
Мо 7 категорияро муайян кардем ва ба ҳар кадоми онҳо захираҳои мушаххаси шабака таъин кардем:
Эзоҳ: Сарчашмаҳо бо ҳарфҳои ғафс дар Ansible 2.9 ба нақша гирифта ва амалӣ карда шуданд.
Дар асоси фикру мулоҳизаҳои муштариёни корхона ва ҷомеа, аввал ҳалли он модулҳои марбут ба протоколҳои топологияи шабака, виртуализатсия ва интерфейсҳо мантиқӣ буд.
Модулҳои захираҳои зерин аз ҷониби гурӯҳи Ansible Network таҳия шудаанд ва ба платформаҳое, ки Red Hat дастгирӣ мекунанд, мувофиқат мекунанд:
Модулҳои зерин аз ҷониби ҷомеаи Ansible таҳия шудаанд:
exos_lldp_global
- аз Шабакаҳои Extreme.nxos_bfd_interfaces
- аз Cisconxos_telemetry
- аз Cisco
Тавре ки шумо мебинед, консепсияи модулҳои захиравӣ ба стратегияи платформаи мо мувофиқат мекунад. Яъне, мо дар худи Ansible қобилиятҳо ва функсияҳои заруриро барои дастгирии стандартизатсия дар таҳияи модулҳои шабакавӣ ва инчунин содда кардани кори корбарон дар сатҳи нақшҳо ва китобҳои бозикунии Ansible дохил мекунем. Барои тавсеаи таҳияи модулҳои захиравӣ, дастаи Ansible асбоби Module Builder -ро баровардааст.
Нақшаҳо барои Ansible 2.10 ва берун аз он
Пас аз баровардани Ansible 2.9, мо дар болои маҷмӯи навбатии модулҳои захиравӣ барои Ansible 2.10 кор хоҳем кард, ки онҳоро метавон барои танзими минбаъдаи топология ва сиёсати шабака истифода бурд, масалан.
Сарчашмаҳо ва оғози кор
Манбаъ: will.com