Китоби бозикунии дохилӣ. Хусусиятҳои шабакавӣ дар Engine нави Ansible 2.9

Китоби бозикунии дохилӣ. Хусусиятҳои шабакавӣ дар Engine нави Ansible 2.9

Нашри дарпешистодаи Red Hat Ansible Engine 2.9 беҳбудиҳои ҷолиб меорад, ки баъзеи онҳо дар ин мақола муҳокима карда мешаванд. Чун ҳамеша, мо беҳбудиҳои шабакаи Ansible-ро ошкоро бо дастгирии ҷомеа таҳия мекардем. Ба мо ҳамроҳ шавед - тамошо кунед Шӯрои нашр дар GitHub ва омух-тани ​​плани тараккиёт нашри Red Hat Ansible Engine 2.9 дар саҳифаи вики барои Шабакаи Ansible.

Чунон ки мо ба наздикй эълон кардем, Платформаи автоматикунонии Red Hat Ansible ҳоло Tower Ansible, Engine Ansible ва ҳама мундариҷаи шабакаи Ansible-ро дар бар мегирад. Имрӯзҳо, маъмултарин платформаҳои шабакавӣ тавассути модулҳои 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 мебошад. Камбудии ин нақш дар он аст, ки ба шумо лозим аст, ки барои ҳар як платформа ва тамоми фаъолияти шабака як гурӯҳи таҳлилгарон эҷод кунед. Барои фаҳмидани он, ки эҷод, интиқол ва нигоҳдории парсерҳо то чӣ андоза душвор аст, ба он нигаред Зиёда аз 1200 таҳлилгар аз бачаҳо дар Cisco.

Хулоса, гирифтани далелҳо аз дастгоҳҳо ва ба эътидол овардани онҳо ба ҷуфтҳои калидӣ барои автоматизатсия дар миқёс муҳим аст, аммо ноил шудан ба ин вақте ки шумо фурӯшандагон ва платформаҳои шабакавӣ доред, душвор аст.

Ҳар як модули далелҳои шабакавӣ дар 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: Конфигуратсияи захираҳо ба таври пешфарз нест карда мешавад/барқарор карда мешавад.

Китоби бозикунии дохилӣ. Хусусиятҳои шабакавӣ дар Engine нави Ansible 2.9

3) Модулҳои захиравӣ ҳоло арзишҳои устувори бозгаштро дар бар мегиранд. Вақте ки модули захираҳои шабакавӣ ба дастгоҳи шабака тағйироти зарурӣ ворид кардааст (ё пешниҳод кардааст), он ҳамон ҷуфтҳои калид-арзишро ба китоби бозӣ бармегардонад.

  • before: конфигуратсия дар дастгоҳ дар шакли маълумоти сохторӣ пеш аз супориш;
  • after: агар дастгоҳ иваз шуда бошад (ё метавонад тағир ёбад, агар реҷаи санҷиш истифода шавад), конфигуратсияи натиҷавӣ ҳамчун маълумоти сохторӣ баргардонида мешавад;
  • commands: Ҳама фармонҳои конфигуратсия дар дастгоҳ иҷро мешаванд, то онро ба ҳолати дилхоҳ оваранд.

Китоби бозикунии дохилӣ. Хусусиятҳои шабакавӣ дар Engine нави Ansible 2.9

Китоби бозикунии дохилӣ. Хусусиятҳои шабакавӣ дар Engine нави Ansible 2.9

Ҳамаи ин чӣ маъно дорад? Чаро муҳим аст?

Ин паём бисёр мафҳумҳои мураккабро дар бар мегирад, аммо мо умедворем, ки дар ниҳоят шумо дарки беҳтаре хоҳед дошт, ки муштариёни корхона воқеан ҷамъоварӣ, ба эътидол овардани маълумот ва конфигуратсияи ҳалқа барои платформаи автоматикунонӣ талаб мекунанд. Аммо чаро онҳо ба ин беҳбудиҳо ниёз доранд? Бисёре аз созмонҳо ҳоло дар пайи табдили рақамӣ ҳастанд, то муҳити IT-и худро боз ҳам тезтар ва рақобатпазир гардонанд. Барои беҳтар ё бад, бисёре аз муҳандисони шабака ё аз рӯи манфиати худ ё бо амри роҳбарият таҳиягарони шабака мешаванд.

Ташкилотҳо дарк мекунанд, ки автоматикунонии қолибҳои шабакаи инфиродӣ мушкилоти силосҳоро ҳал намекунад ва танҳо самаранокии онро то андозае зиёд мекунад. Платформаи Red Hat Ansible Automation моделҳои дақиқ ва меъёрии маълумотро барои ба таври барномавӣ идора кардани маълумоти асосӣ дар дастгоҳи шабака таъмин мекунад. Яъне, корбарон тадриҷан аз усулҳои конфигуратсияи инфиродӣ даст кашида, ба манфиати усулҳои муосиртар бо таваҷҷӯҳ ба технологияҳо (масалан, суроғаҳои IP, VLAN, LLDP ва ғайра), на ба татбиқи мушаххаси фурӯшанда.

Оё ин маънои онро дорад, ки рӯзҳои модулҳои фармон ва конфигуратсияи боэътимод ва собитшуда рақамгузорӣ шудаанд? Дар ҳеҷ сурат. Модулҳои захираҳои шабакавии интизоршуда дар ҳама ҳолатҳо ё барои ҳар як фурӯшанда татбиқ намегарданд, аз ин рӯ модулҳои фармон ва конфигуратсия ба муҳандисони шабака барои татбиқи муайян ниёз доранд. Ҳадафи модулҳои захиравӣ содда кардани қолибҳои калони Jinja ва ба эътидол овардани конфигуратсияҳои сохторнашудаи дастгоҳ ба формати сохтории JSON мебошад. Бо модулҳои захиравӣ, барои шабакаҳои мавҷуда табдил додани конфигуратсияи онҳо ба ҷуфтҳои сохтории калид-арзиш, ки манбаи ба осонӣ хондани ҳақиқатро ифода мекунанд, осонтар хоҳад буд. Бо истифода аз ҷуфтҳои сохтории калид-арзиш, шумо метавонед аз конфигуратсияҳои иҷрошаванда дар ҳар як дастгоҳ ба кор бо додаҳои сохтории мустақил гузаред ва шабакаҳоро ба як равиши инфрасохтор ҳамчун код расонед.

Кадом модулҳои захиравӣ дар Ansible Engine 2.9 ворид мешаванд?

Пеш аз он ки мо ба шумо муфассал нақл кунем, ки дар Ansible 2.9 чӣ рӯй хоҳад дод, биёед дар хотир дорем, ки мо тамоми доираи корро чӣ гуна тақсим кардем.

Мо 7 категорияро муайян кардем ва ба ҳар кадоми онҳо захираҳои мушаххаси шабака таъин кардем:

Китоби бозикунии дохилӣ. Хусусиятҳои шабакавӣ дар Engine нави Ansible 2.9

Эзоҳ: Сарчашмаҳо бо ҳарфҳои ғафс дар Ansible 2.9 ба нақша гирифта ва амалӣ карда шуданд.
Дар асоси фикру мулоҳизаҳои муштариёни корхона ва ҷомеа, аввал ҳалли он модулҳои марбут ба протоколҳои топологияи шабака, виртуализатсия ва интерфейсҳо мантиқӣ буд.
Модулҳои захираҳои зерин аз ҷониби гурӯҳи Ansible Network таҳия шудаанд ва ба платформаҳое, ки Red Hat дастгирӣ мекунанд, мувофиқат мекунанд:

Китоби бозикунии дохилӣ. Хусусиятҳои шабакавӣ дар Engine нави Ansible 2.9

Модулҳои зерин аз ҷониби ҷомеаи Ansible таҳия шудаанд:

  • exos_lldp_global - аз Шабакаҳои Extreme.
  • nxos_bfd_interfaces - аз Cisco
  • nxos_telemetry - аз Cisco

Тавре ки шумо мебинед, консепсияи модулҳои захиравӣ ба стратегияи платформаи мо мувофиқат мекунад. Яъне, мо дар худи Ansible қобилиятҳо ва функсияҳои заруриро барои дастгирии стандартизатсия дар таҳияи модулҳои шабакавӣ ва инчунин содда кардани кори корбарон дар сатҳи нақшҳо ва китобҳои бозикунии Ansible дохил мекунем. Барои тавсеаи таҳияи модулҳои захиравӣ, дастаи Ansible асбоби Module Builder -ро баровардааст.

Нақшаҳо барои Ansible 2.10 ва берун аз он

Пас аз баровардани Ansible 2.9, мо дар болои маҷмӯи навбатии модулҳои захиравӣ барои Ansible 2.10 кор хоҳем кард, ки онҳоро метавон барои танзими минбаъдаи топология ва сиёсати шабака истифода бурд, масалан. ACL, OSPF ва BGP. Нақшаи рушд ҳоло ҳам метавонад ислоҳ карда шавад, бинобар ин, агар шумо шарҳе дошта бошед, лутфан ба он хабар диҳед Ҷамъияти шабакаи Ansible.

Сарчашмаҳо ва оғози кор

Пресс-релиз дар бораи Ansible Automation Platform
Blog Platform Automation Ansible
Ояндаи интиқоли мундариҷа дар Ansible
Мулоҳизаҳо дар бораи тағир додани сохтори лоиҳаи Ansible

Манбаъ: will.com

Илова Эзоҳ