The Jero Playbook. Fitur jaringan dina Ansible Engine 2.9 anyar

The Jero Playbook. Fitur jaringan dina Ansible Engine 2.9 anyar

Pelepasan Red Hat Ansible Engine 2.9 anu bakal datang nyababkeun perbaikan anu pikaresepeun, sababaraha diantarana dibahas dina tulisan ieu. Sakumaha biasa, kami parantos ngembangkeun perbaikan Jaringan Ansible sacara terbuka, kalayan dukungan komunitas. Gabung kami - tingali dewan ngaluarkeun on GitHub jeung diajar rencana pangwangunan pikeun sékrési Red Hat Ansible Engine 2.9 dina kaca wiki pikeun Jaringan Ansible.

Salaku urang anyar ngumumkeun, Beureum Hat Ansible Automation Platform ayeuna kalebet Menara Ansible, Mesin Ansible sareng sadaya kontén Jaringan Ansible. Kiwari, platform jejaring anu paling populér dilaksanakeun ngaliwatan modul Ansible. Salaku conto:

  • Arista SEOs
  • Cisco ios
  • Cisco ios XR
  • Cisco NX-OS
  • Juniper Junos
  • VyOS

Pikeun daptar lengkep platform anu dirojong pinuh ku Red Hat ngaliwatan langganan Ansible Automation, diterbitkeun di dieu.

Naon anu urang diajar

Salila opat taun katukang, urang parantos diajar seueur ngeunaan ngembangkeun platform otomatisasi jaringan. Urang ogé diajar éta kumaha artefak platform dipaké dina playbooks Ansible jeung peran ku pamaké tungtung. Sareng ieu anu kami mendakan:

  • Organisasi anu ngajadikeun otomatis alat ti teu ngan hiji, tapi loba ngical paralatan.
  • Automasi henteu ngan ukur fenomena téknis, tapi ogé budaya.
  • Ngaotomatisasi jaringan dina skala langkung hese tibatan sigana kusabab prinsip arsitéktur dasar desain otomatis.

Nalika urang ngabahas rencana pertumbuhan jangka panjang urang langkung ti sataun katukang, klien perusahaan kami naroskeun ieu:

  • Koléksi fakta kedah langkung saé standarisasi sareng saluyu sareng alur kerja otomatis dina sadaya alat.
  • Ngamutahirkeun konfigurasi dina alat ogé kedah standar sareng konsisten supados modul Ansible nanganan satengah kadua siklus saatos ngumpulkeun fakta.
  • Urang peryogi metode anu ketat sareng didukung pikeun ngarobih konfigurasi alat kana data terstruktur. Dina dasar ieu, sumber bebeneran bisa dipindahkeun tina alat jaringan.

Perbaikan kanyataan

Ngumpulkeun fakta tina alat jaringan nganggo Ansible sering lumangsung sacara acak. platform basis web boga varying derajat kamampuhan kanyataan-ngumpulkeun, tapi maranéhna mibanda saeutik atawa euweuh pungsionalitasna pikeun parsing jeung standarisasi ngagambarkeun data dina pasangan konci-nilai. Maca pasang Ken Celenza ngeunaan kumaha sesah sareng nyerina pikeun nganalisis sareng ngabakukeun data faktual.

Anjeun panginten tiasa ningali yén kami damel dina peran Mesin Jaringan Ansible. Alami, 24K undeuran engké, peran Network Engine geus gancang jadi salah sahiji peran Ansible pang populerna di Ansible Galaxy pikeun skénario automation jaringan. Sateuacan urang mindahkeun seueur ieu kana Ansible 2.8 pikeun nyiapkeun naon anu diperyogikeun dina Ansible 2.9, peran Ansible ieu nyayogikeun set alat anu munggaran pikeun ngabantosan paréntah parse, ngatur paréntah, sareng ngumpulkeun data pikeun alat jaringan.

Upami anjeun terang kumaha ngagunakeun Network Engine, ieu mangrupikeun cara anu épisién pikeun ngumpulkeun, nga-parse, sareng ngabakukeun data fakta pikeun dianggo dina Ansible. Karugian tina peran ieu nyaéta anjeun kedah nyiptakeun sakumpulan parser pikeun unggal platform sareng sadaya kagiatan jaringan. Pikeun ngartos kumaha héséna nyiptakeun, ngirimkeun, sareng ngajaga parser, tingali Langkung ti 1200 parser ti guys di Cisco.

Sacara ringkes, kéngingkeun fakta tina alat sareng normalisasi kana pasangan konci-nilai penting pisan pikeun otomatisasi dina skala, tapi pikeun ngahontal ieu sesah upami anjeun gaduh seueur padagang sareng platform jaringan.

Unggal modul kanyataan jaringan dina Ansible 2.9 ayeuna tiasa nganalisis konfigurasi alat jaringan sareng ngabalikeun data terstruktur - tanpa perpustakaan tambahan, peran Ansible atanapi parser khusus.

Kusabab Ansible 2.9, unggal waktos modul jaringan diropéa dileupaskeun, modul kanyataan ningkat pikeun nyadiakeun data ngeunaan bagian ieu konfigurasi. Hartina, ngembangkeun fakta jeung modul ayeuna lumangsung dina Pace sarua, sarta aranjeunna bakal salawasna mibanda struktur data umum.

Konfigurasi sumberdaya dina alat jaringan tiasa dicandak sareng dirobih janten data terstruktur ku dua cara. Dina dua cara, anjeun tiasa ngumpulkeun sareng ngarobih daptar sumber khusus nganggo kecap konci énggal gather_network_resources. Ngaran sumberdaya cocog jeung ngaran modul, nu pohara merenah.

Nalika ngumpulkeun fakta:

Ngagunakeun kecap konci gather_facts Anjeun tiasa nimba konfigurasi alat ayeuna di awal playbook nu, lajeng make eta sapanjang sakabéh playbook. Sebutkeun sumber daya individu anu bakal dicandak tina alat.

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

Anjeun panginten parantos ningali anu énggal dina conto ieu, nyaéta - gather_facts: true ayeuna geus sadia pikeun kumpulan fakta asli pikeun alat jaringan.

Ngagunakeun modul kanyataan jaringan langsung:

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

Playbook ngabalikeun fakta di handap ieu ngeunaan antarmuka:

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

Perhatikeun kumaha Ansible nyandak konfigurasi asli tina alat Arista sareng ngarobih kana data terstruktur pikeun dianggo salaku pasangan nilai konci standar pikeun tugas sareng operasi hilir.

Fakta panganteur bisa ditambahkeun kana variabel disimpen Ansible sarta dipaké langsung atanapi engké salaku input ka modul sumberdaya eos_interfaces tanpa processing tambahan atawa konversi.

Modul sumberdaya

Janten, urang nimba fakta, nganormalkeun data, nyocogkeun kana diagram struktur data internal standar sareng nampi sumber bebeneran anu siap-siap. Horeeee! Ieu saé, tangtosna, tapi urang tetep kedah kumaha waé ngarobih pasangan konci-nilai deui kana konfigurasi khusus anu diarepkeun ku platform alat khusus. Urang ayeuna peryogi modul khusus platform pikeun nyumponan syarat pengumpulan fakta sareng normalisasi ieu.

Naon ari modul sumberdaya? Anjeun tiasa nganggap bagian konfigurasi alat salaku sumber daya anu disayogikeun ku alat éta. modul sumberdaya jaringan ngahaja dugi ka sumberdaya tunggal jeung bisa tumpuk kawas blok wangunan pikeun ngonpigurasikeun jasa jaringan kompléks. Hasilna, sarat sareng spésifikasi pikeun modul sumberdaya sacara alami disederhanakeun, sabab modul sumberdaya tiasa maca. и ngonpigurasikeun layanan jaringan husus dina alat jaringan.

Pikeun ngajelaskeun naon modul sumber daya, hayu urang tingali conto playbook anu nunjukkeun operasi idempodent ngagunakeun fakta sareng modul sumber daya jaringan anyar. 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

Sakumaha anjeun tiasa tingali, data anu dikumpulkeun tina alat ditransfer langsung ka modul sumberdaya anu saluyu tanpa konvérsi. Nalika diluncurkeun, playbook nyandak nilai tina alat sareng ngabandingkeunana sareng nilai anu dipiharep. Dina conto ieu, nilai-nilai anu dipulangkeun sapertos anu diharapkeun (nyaéta, éta pariksa panyimpangan konfigurasi) sareng ngalaporkeun naha konfigurasi parantos robih.

Cara anu idéal pikeun ngadeteksi drift konfigurasi nyaéta nyimpen fakta dina variabel anu disimpen Ansible sareng périodik nganggo modul sumber daya dina modeu pamariksaan. Ieu mangrupikeun cara anu saderhana pikeun ningali upami aya anu ngarobih nilai sacara manual. Dina kalolobaan kasus, organisasi ngidinan parobahan sarta konfigurasi sacara manual, sanajan loba operasi anu dipigawé ngaliwatan Ansible Automation.

Kumaha modul sumberdaya anyar béda ti anu saméméhna?

Pikeun insinyur otomatisasi jaringan, aya 3 bédana utama antara modul sumberdaya di Ansible 2.9 sareng versi sateuacana.

1) Pikeun sumber jaringan anu dipasihkeun (anu ogé tiasa dianggap salaku bagian konfigurasi), modul sareng fakta bakal mekar dina sadaya sistem operasi jaringan anu dirojong sakaligus. Kami nyangka yén upami Ansible ngadukung konfigurasi sumberdaya dina hiji platform jaringan, urang kedah ngadukung éta dimana-mana. Ieu nyederhanakeun pamakean modul sumber daya sabab insinyur otomatisasi jaringan ayeuna tiasa ngonpigurasikeun sumber daya (sapertos LLDP) dina sadaya sistem operasi jaringan sareng modul asli sareng didukung.

2) modul Resource ayeuna ngawengku hiji nilai kaayaan.

  • merged: konfigurasi dihijikeun jeung konfigurasi disadiakeun (standar);
  • replaced: Konfigurasi sumberdaya bakal diganti ku konfigurasi disadiakeun;
  • overridden: Konfigurasi sumberdaya bakal diganti ku konfigurasi disadiakeun; instansi sumberdaya teu perlu bakal dihapus;
  • deleted: Konfigurasi sumberdaya bakal dipupus / dibalikeun ka standar.

The Jero Playbook. Fitur jaringan dina Ansible Engine 2.9 anyar

3) modul Resource ayeuna kaasup nilai balik stabil. Nalika modul sumberdaya jaringan geus dijieun (atawa ngajukeun) parobahan diperlukeun pikeun alat jaringan, mulih pasangan konci-nilai sarua playbook nu.

  • before: konfigurasi dina alat dina bentuk data terstruktur saméméh tugas;
  • after: lamun alat geus robah (atawa bisa ngarobah lamun mode test dipaké), konfigurasi hasilna bakal balik salaku data terstruktur;
  • commands: Sakur paréntah konfigurasi dijalankeun dina alat pikeun mawa kana kaayaan nu dipikahoyong.

The Jero Playbook. Fitur jaringan dina Ansible Engine 2.9 anyar

The Jero Playbook. Fitur jaringan dina Ansible Engine 2.9 anyar

Naon hartosna sadayana ieu? Naha éta penting?

Pos ieu nyertakeun seueur konsép anu rumit, tapi kami ngarepkeun yén dina tungtungna anjeun bakal gaduh pamahaman anu langkung saé ngeunaan naon anu dipénta ku klien perusahaan dina ngumpulkeun kanyataan, normalisasi data, sareng konfigurasi loop pikeun platform automation. Tapi naha maranéhna butuh perbaikan ieu? Seueur organisasi ayeuna ngiringan transformasi digital pikeun ngajantenkeun lingkungan ITna langkung lincah sareng kompetitif. Pikeun hadé atawa goréng, loba insinyur jaringan jadi pamekar jaringan boh tina kapentingan sorangan atawa di behst manajemén.

Organisasi sadar yén otomatis témplat jaringan individu henteu ngarengsekeun masalah silo sareng ngan ukur ningkatkeun efisiensi dugi ka sababaraha tingkat. The Red Hat Ansible Automation Platform nyadiakeun model data sumberdaya rigorous tur normatif pikeun programmatically ngatur data kaayaan dina alat jaringan. Hartina, pamaké laun abandoning métode konfigurasi individu dina ni'mat métode leuwih modern kalawan tekenan kana téhnologi (Contona, alamat IP, VLANs, LLDP, jsb), tinimbang dina palaksanaan vendor husus.

Naha ieu hartosna yén dinten-dinten modul paréntah sareng konfigurasi anu dipercaya sareng kabuktian wilanganana? Bisi wae. Modul sumberdaya jaringan anu dipiharep moal tiasa dianggo dina sadaya kasus atanapi pikeun unggal padagang, ku kituna modul paréntah sareng konfigurasi masih diperyogikeun ku insinyur jaringan pikeun palaksanaan anu tangtu. Tujuan tina modul sumberdaya nyaéta pikeun nyederhanakeun témplat Jinja anu ageung sareng normalisasi konfigurasi alat anu henteu terstruktur kana format JSON terstruktur. Kalayan modul sumber daya, jaringan anu tos aya bakal langkung gampang pikeun ngarobih konfigurasina janten pasangan konci-nilai terstruktur anu ngagambarkeun sumber bebeneran anu gampang dibaca. Ku ngagunakeun pasangan konci-nilai terstruktur, anjeun tiasa ngalih tina ngajalankeun konfigurasi dina unggal alat pikeun damel sareng data terstruktur mandiri sareng ngajantenkeun jaringan janten payuneun pendekatan infrastruktur-sakumaha-kode.

Naon modul sumberdaya anu bakal aya dina Ansible Engine 2.9?

Sateuacan urang nyarioskeun ka anjeun sacara rinci naon anu bakal kajantenan dina Ansible 2.9, hayu urang émut kumaha urang ngabagi sadayana ruang lingkup padamelan.

Kami ngaidentipikasi 7 kategori sareng masihan sumber jaringan khusus pikeun masing-masing:

The Jero Playbook. Fitur jaringan dina Ansible Engine 2.9 anyar

Catetan: Sumberdaya anu kandel direncanakeun sareng dilaksanakeun dina Ansible 2.9.
Dumasar kana eupan balik ti konsumén perusahaan jeung masarakat, éta logis mun mimiti nungkulan modul nu patali jeung protokol topologi jaringan, virtualization, sarta interfaces.
Modul sumberdaya di handap ieu dikembangkeun ku tim Jaringan Ansible sareng pakait sareng platform anu dirojong ku Red Hat:

The Jero Playbook. Fitur jaringan dina Ansible Engine 2.9 anyar

Modul-modul ieu dikembangkeun ku komunitas Ansible:

  • exos_lldp_global - ti Extreme Networks.
  • nxos_bfd_interfaces - ti Cisco
  • nxos_telemetry - ti Cisco

Sakumaha anjeun tiasa tingali, konsép modul sumberdaya cocog kana strategi platform-centric urang. Nyaéta, kami kalebet kamampuan sareng fungsi anu dipikabutuh dina Ansible sorangan pikeun ngadukung standarisasi dina pamekaran modul jaringan, sareng ogé pikeun nyederhanakeun padamelan pangguna dina tingkat peran sareng buku kaulinan Ansible. Pikeun ngalegaan pamekaran modul sumberdaya, tim Ansible ngarilis alat Pangwangun Modul.

Rencana pikeun Ansible 2.10 sareng salajengna

Sakali Ansible 2.9 dileupaskeun, urang bakal ngerjakeun set salajengna modul sumberdaya pikeun Ansible 2.10, anu tiasa dianggo pikeun ngonpigurasikeun topologi sareng kawijakan jaringan, f.eks. ACL, OSPF jeung BGP. Rencana pangwangunan masih tiasa disaluyukeun, janten upami anjeun gaduh koméntar, laporkeun ka Komunitas Jaringan Ansible.

Sumberdaya sareng ngamimitian

Pencét siaran ngeunaan Ansible Automation Platform
Blog Platform Automation Ansible
Masa depan pangiriman eusi di Ansible
Reflections on ngarobah struktur proyék Ansible

sumber: www.habr.com

Tambahkeun komentar