The Inside Playbook. Fungsi jaringan ing Ansible Engine 2.9 anyar

The Inside Playbook. Fungsi jaringan ing Ansible Engine 2.9 anyar

Rilis Red Hat Ansible Engine 2.9 sing bakal teka nggawa perbaikan sing nyenengake, sawetara sing dibahas ing artikel iki. Kaya biasane, kita wis ngembangake dandan Jaringan Ansible kanthi terbuka, kanthi dhukungan komunitas. Join us - njupuk dipikir ing papan penerbitan ing GitHub lan sinau rencana pembangunan kanggo release saka Red Hat Ansible Engine 2.9 ing kaca wiki kanggo Jaringan Ansible.

Kaya sing bubar diumumake, Platform Otomatis Ansible Red Hat saiki kalebu Menara Ansible, Mesin Ansible lan kabeh konten Jaringan Ansible. Saiki, platform jaringan sing paling populer ditindakake liwat modul Ansible. Tuladhane:

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

Kanggo dhaptar lengkap platform sing didhukung kanthi lengkap dening Red Hat liwat langganan Ansible Automation, diterbitake kene.

Apa sing wis kita sinau

Sajrone patang taun kepungkur, kita wis sinau akeh babagan ngembangake platform otomatisasi jaringan. Kita uga sinau sing carane artefak platform digunakake ing playbooks Ansible lan peran dening pangguna pungkasan. Lan iki sing kita temokake:

  • Organisasi ngotomatisasi piranti ora mung siji, nanging akeh vendor.
  • Otomasi ora mung fenomena teknis, nanging uga budaya.
  • Ngotomatisasi jaringan kanthi skala luwih angel tinimbang sing katon amarga prinsip arsitektur dhasar desain otomatisasi.

Nalika kita ngrembug rencana pertumbuhan jangka panjang luwih saka setahun kepungkur, para klien perusahaan njaluk perkara ing ngisor iki:

  • Pengumpulan fakta kudu luwih standar lan selaras karo alur kerja otomatis ing kabeh piranti.
  • Nganyari konfigurasi ing piranti uga kudu standar lan konsisten supaya modul Ansible nangani setengah kapindho siklus sawise ngumpulake kasunyatan.
  • Kita butuh cara sing ketat lan didhukung kanggo ngowahi konfigurasi piranti dadi data terstruktur. Ing basis iki, sumber bebener bisa dipindhah saka piranti jaringan.

dandan kasunyatan

Nglumpukake fakta saka piranti jaringan nggunakake Ansible asring kedadeyan kanthi acak. Platform basis web nduweni kemampuan ngumpulake fakta sing beda-beda, nanging ora nduweni fungsi kanggo parsing lan standarisasi perwakilan data ing pasangan nilai kunci. maca kirim Ken Celenza babagan carane angel lan nglarani kanggo nganalisa lan standarisasi data faktual.

Sampeyan bisa uga wis weruh yen kita nggarap peran Ansible Network Engine. Mesthi, 24K download mengko, peran Network Engine cepet dadi salah siji saka peran Ansible paling populer ing Ansible Galaxy kanggo skenario otomatisasi jaringan. Sadurunge kita mindhah akeh iki menyang Ansible 2.8 kanggo nyiapake apa sing bakal dibutuhake ing Ansible 2.9, peran Ansible iki nyedhiyakake piranti pisanan kanggo mbantu parse printah, ngatur printah, lan ngumpulake data kanggo piranti jaringan.

Yen sampeyan ngerti carane nggunakake Mesin Jaringan, iki minangka cara sing efisien banget kanggo ngumpulake, ngurai, lan standarisasi data fakta sing digunakake ing Ansible. Kerugian saka peran iki yaiku sampeyan kudu nggawe akeh parser kanggo saben platform lan kabeh kegiatan jaringan. Kanggo mangerteni carane angel iku kanggo nggawe, ngirim, lan njaga parser, njupuk dipikir ing Luwih saka 1200 parser saka wong lanang ing Cisco.

Cekakipun, njupuk fakta saka piranti lan normalake menyang pasangan kunci-nilai penting kanggo otomatisasi ing skala, nanging entuk iki angel yen sampeyan duwe akeh vendor lan platform jaringan.

Saben modul kasunyatan jaringan ing Ansible 2.9 saiki bisa nganalisa konfigurasi piranti jaringan lan ngasilake data terstruktur - tanpa perpustakaan tambahan, peran Ansible utawa parser khusus.

Wiwit Ansible 2.9, saben-saben modul jaringan sing dianyari dirilis, modul kasunyatan ditambahake kanggo nyedhiyakake data babagan bagean konfigurasi iki. Tegese, pangembangan fakta lan modul saiki kedadeyan kanthi cepet, lan mesthi duwe struktur data sing umum.

Konfigurasi sumber daya ing piranti jaringan bisa dijupuk lan diowahi dadi data terstruktur kanthi rong cara. Ing loro cara, sampeyan bisa ngumpulake lan ngowahi dhaptar sumber daya tartamtu nggunakake tembung kunci anyar gather_network_resources. Jeneng sumber cocog karo jeneng modul, sing trep banget.

Nalika ngumpulake fakta:

Nggunakake tembung kunci gather_facts sampeyan bisa njupuk konfigurasi piranti saiki ing awal playbook, lan banjur nggunakake ing saindhenging kabeh playbook. Nemtokake sumber daya individu sing bakal dijupuk saka piranti.

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

Sampeyan bisa uga wis weruh sing anyar ing conto iki, yaiku - gather_facts: true saiki kasedhiya kanggo koleksi fakta asli kanggo piranti jaringan.

Nggunakake modul kasunyatan jaringan langsung:

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

Playbook ngasilake fakta ing ngisor iki babagan 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

Elinga carane Ansible njupuk konfigurasi asli saka piranti Arista lan ngowahi dadi data terstruktur kanggo digunakake minangka pasangan nilai kunci standar kanggo tugas lan operasi hilir.

Kasunyatan antarmuka bisa ditambahake menyang variabel sing disimpen Ansible lan digunakake langsung utawa mengko minangka input menyang modul sumber daya eos_interfaces tanpa pangolahan utawa konversi tambahan.

Modul Sumber Daya

Dadi, kita ngekstrak fakta, normalake data, pas karo diagram struktur data internal standar lan nampa sumber bebener sing wis siap. Hore! Iki apik, mesthi, nanging kita isih kudu ngowahi pasangan kunci-nilai bali menyang konfigurasi tartamtu sing dikarepake platform piranti tartamtu. Saiki kita butuh modul khusus platform kanggo nyukupi syarat pengumpulan fakta lan normalisasi anyar iki.

Apa modul sumber daya? Sampeyan bisa mikir bagean konfigurasi piranti minangka sumber daya sing diwenehake dening piranti kasebut. Modul sumber daya jaringan sengaja diwatesi ing siji sumber lan bisa ditumpuk kaya blok bangunan kanggo ngatur layanan jaringan sing kompleks. AkibatΓ©, syarat lan spesifikasi modul sumber daya alamiah disederhanakakΓ©, amarga modul sumber daya bisa maca. ΠΈ ngatur layanan jaringan tartamtu ing piranti jaringan.

Kanggo nerangake apa sing ditindakake modul sumber daya, ayo goleki conto playbook sing nuduhake operasi idempodent nggunakake fakta lan 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

Minangka sampeyan bisa ndeleng, data sing diklumpukake saka piranti ditransfer langsung menyang modul sumber daya sing cocog tanpa konversi. Nalika diluncurake, playbook njupuk nilai saka piranti lan mbandhingake karo nilai sing dikarepake. Ing conto iki, nilai sing bali kaya sing dikarepake (yaiku, mriksa panyimpangan konfigurasi) lan laporan manawa konfigurasi wis diganti.

Cara sing becik kanggo ndeteksi drift konfigurasi yaiku kanggo nyimpen fakta ing variabel sing disimpen Ansible lan digunakake kanthi periodik karo modul sumber daya ing mode inspeksi. Iki minangka cara sing gampang kanggo ndeleng manawa ana wong sing ngganti nilai kasebut kanthi manual. Umume kasus, organisasi ngidini owah-owahan lan konfigurasi kanthi manual, sanajan akeh operasi sing ditindakake liwat Ansible Automation.

Kepiye carane modul sumber daya anyar beda karo sing sadurunge?

Kanggo insinyur otomatisasi jaringan, ana 3 beda utama antarane modul sumber daya ing Ansible 2.9 lan versi sadurunge.

1) Kanggo sumber jaringan tartamtu (sing uga bisa dianggep minangka bagean konfigurasi), modul lan fakta bakal berkembang ing kabeh sistem operasi jaringan sing didhukung bebarengan. Kita mikir yen Ansible ndhukung konfigurasi sumber daya ing siji platform jaringan, kita kudu ndhukung ing endi wae. Iki nyederhanakake panggunaan modul sumber amarga insinyur otomatisasi jaringan saiki bisa ngatur sumber daya (kayata LLDP) ing kabeh sistem operasi jaringan kanthi modul asli lan didhukung.

2) Modul sumber daya saiki kalebu nilai negara.

  • merged: konfigurasi digabung karo konfigurasi sing kasedhiya (standar);
  • replaced: Konfigurasi sumber daya bakal diganti karo konfigurasi sing kasedhiya;
  • overridden: Konfigurasi sumber daya bakal diganti karo konfigurasi sing kasedhiya; conto sumber sing ora perlu bakal dibusak;
  • deleted: Konfigurasi sumber daya bakal dibusak / dibalΓ¨kakΓ© menyang gawan.

The Inside Playbook. Fungsi jaringan ing Ansible Engine 2.9 anyar

3) Modul sumber daya saiki kalebu nilai bali sing stabil. Nalika modul sumber jaringan wis digawe (utawa ngajokaken) owah-owahan perlu kanggo piranti jaringan, bali pasangan tombol-nilai padha kanggo playbook.

  • before: konfigurasi ing piranti ing wangun data kabentuk sadurunge tugas;
  • after: yen piranti wis diganti (utawa bisa diganti yen mode test digunakake), konfigurasi asil bakal bali minangka data kabentuk;
  • commands: Sembarang printah konfigurasi mbukak ing piranti kanggo nggawa menyang negara sing dipengini.

The Inside Playbook. Fungsi jaringan ing Ansible Engine 2.9 anyar

The Inside Playbook. Fungsi jaringan ing Ansible Engine 2.9 anyar

Apa tegese kabeh iki? Apa sebabe penting?

Kiriman iki kalebu akeh konsep sing rumit, nanging muga-muga ing pungkasan sampeyan bakal duwe pangerten sing luwih apik babagan apa sing dijaluk klien perusahaan ing kasunyatan koleksi, normalisasi data, lan konfigurasi loop kanggo platform otomatisasi. Nanging kenapa dheweke butuh perbaikan kasebut? Akeh organisasi saiki ngupayakake transformasi digital supaya lingkungan IT luwih lincah lan kompetitif. Kanggo luwih apik utawa luwih elek, akeh insinyur jaringan dadi pangembang jaringan amarga kepentingane dhewe utawa kanthi prentah saka manajemen.

Organisasi nyadari yen ngotomatisasi cithakan jaringan individu ora ngrampungake masalah silo lan mung nambah efisiensi nganti sawetara. Platform Otomasi Red Hat Ansible nyedhiyakake model data sumber daya sing ketat lan normatif kanggo ngatur data dhasar ing piranti jaringan kanthi program. Sing, kedhaftar mboko sithik nglirwaaken cara konfigurasi individu ing sih saka cara sing luwih modern karo emphasis ing teknologi (contone, alamat IP, VLAN, LLDP, etc.), tinimbang ing implementasine vendor tartamtu.

Iki tegese dina modul printah dipercaya lan buktiaken lan konfigurasi wis nomer? Ora ana kasus. Modul sumber daya jaringan sing dikarepake ora bisa ditrapake ing kabeh kasus utawa kanggo saben vendor, saengga modul printah lan konfigurasi isih dibutuhake dening insinyur jaringan kanggo implementasi tartamtu. Tujuan modul sumber daya kanggo nyederhanakake cithakan Jinja gedhe lan normalake konfigurasi piranti sing ora terstruktur dadi format JSON sing wis kabentuk. Kanthi modul sumber daya, jaringan sing ana bakal luwih gampang ngowahi konfigurasi dadi pasangan nilai kunci terstruktur sing makili sumber bebener sing gampang diwaca. Kanthi nggunakake pasangan kunci-nilai terstruktur, sampeyan bisa ngalih saka konfigurasi mlaku ing saben piranti menyang nggarap data terstruktur independen lan nggawa jaringan menyang ngarep pendekatan infrastruktur-minangka-kode.

Apa modul sumber daya sing bakal teka ing Ansible Engine 2.9?

Sadurunge kita pitutur marang kowe kanthi rinci apa sing bakal kelakon ing Ansible 2.9, ayo padha elinga carane kita dibagi kabeh orane katrangan saka karya.

Kita nemtokake 7 kategori lan menehi sumber daya jaringan tartamtu kanggo saben:

The Inside Playbook. Fungsi jaringan ing Ansible Engine 2.9 anyar

Cathetan: Sumber daya kanthi kandel direncanakake lan ditindakake ing Ansible 2.9.
Adhedhasar umpan balik saka pelanggan perusahaan lan komunitas, logis kanggo ngatasi modul kasebut sing ana gandhengane karo protokol topologi jaringan, virtualisasi, lan antarmuka.
Modul sumber daya ing ngisor iki dikembangake dening tim Jaringan Ansible lan cocog karo platform sing didhukung dening Red Hat:

The Inside Playbook. Fungsi jaringan ing Ansible Engine 2.9 anyar

Modul ing ngisor iki dikembangake dening komunitas Ansible:

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

Kaya sing sampeyan ngerteni, konsep modul sumber daya cocog karo strategi platform-sentris kita. Yaiku, kita nyakup kemampuan lan fungsi sing dibutuhake ing Ansible dhewe kanggo ndhukung standarisasi ing pangembangan modul jaringan, lan uga kanggo nyederhanakake karya pangguna ing tingkat peran lan playbook Ansible. Kanggo nggedhekake pangembangan modul sumber daya, tim Ansible ngrilis alat Modul Builder.

Rencana kanggo Ansible 2.10 lan luwih

Sawise Ansible 2.9 dirilis, kita bakal nggarap modul sumber daya sabanjure kanggo Ansible 2.10, sing bisa digunakake kanggo ngatur topologi lan kabijakan jaringan, f.eks. ACL, OSPF lan BGP. Rencana pangembangan isih bisa diatur, dadi yen sampeyan duwe komentar, laporake Komunitas Jaringan Ansible.

Sumber daya lan miwiti

Siaran pers babagan Ansible Automation Platform
Blog Platform Otomasi Ansible
Masa depan pangiriman konten ing Ansible
Renungan babagan ngganti struktur proyek Ansible

Source: www.habr.com

Add a comment