Automation pikeun leuwih leutik. Bagian nol. Ngarencanakeun

SDSM parantos réngsé, tapi kahayang anu teu kaampeuh pikeun nyerat tetep aya.

Automation pikeun leuwih leutik. Bagian nol. Ngarencanakeun

Mangtaun-taun, lanceuk urang ngalaman pagawéan rutin, nyebrang ramo-ramo sateuacan ngalakukeun sareng kurang sare kusabab balikan wengi.
Tapi jaman poék geus datang ka tungtung.

Kalayan tulisan ieu kuring bakal ngamimitian séri kumaha kanggo kuring automation katempo.
Sapanjang jalan, urang bakal ngartos tahapan automation, nyimpen variabel, formalizing desain, RestAPI, NETCONF, YANG, YDK sarta kami bakal ngalakukeun loba programming.
Ka kuring hartina a) lain bebeneran obyektif, b) lain saratna pendekatan pangalusna, c) pendapat kuring, sanajan salila gerakan ti mimiti artikel panungtungan, bisa robah - jujur, ti tahap draf ka publikasi, Kuring rewrote sagalana lengkep dua kali.

eusi

  1. gol
    1. Jaringan sapertos organisme tunggal
    2. Uji konfigurasi
    3. Versioning
    4. Ngawaskeun sareng nyageurkeun diri jasa

  2. Maksadna
    1. Sistim inventory
    2. Sistim manajemén spasi IP
    3. Sistim déskripsi jasa jaringan
    4. mékanisme initialization alat
    5. Modél konfigurasi vendor-agnostik
    6. Antarbeungeut supir spésifik vendor
    7. Mékanisme pikeun nganteurkeun konfigurasi ka alat
    8. CI / CD
    9. Mékanisme pikeun cadangan sareng milarian panyimpangan
    10. Sistim pangimeutan

  3. kacindekan

Kuring bakal nyobian ngalaksanakeun ADSM dina format rada béda ti SDSM. Tulisan anu ageung, detil, wilanganana bakal terus muncul, sareng diantara aranjeunna kuring bakal nyebarkeun catetan leutik tina pangalaman sapopoe. Kuring bakal nyobian ngalawan perfeksionisme di dieu sareng henteu ngaletak unggal sahijina.

Kumaha lucu éta yén kadua kalina anjeun kudu ngaliwatan jalur anu sarua.

Mimitina kuring kedah nyerat tulisan ngeunaan jaringan sorangan kusabab kanyataan yén aranjeunna henteu aya dina RuNet.

Ayeuna kuring teu bisa manggihan dokumén komprehensif nu bakal systematize pendekatan ka automation jeung nganalisis téknologi luhur ngagunakeun conto praktis basajan.

Kuring bisa jadi salah, jadi punten nyadiakeun tumbu ka sumber mangpaat. Sanajan kitu, ieu moal ngarobah tekad kuring nulis, sabab tujuan utama pikeun neuleuman hal sorangan, sarta nyieun hirup leuwih gampang pikeun batur mangrupakeun bonus pikaresepeun nu caresses gén pikeun babagi pangalaman.

Kami bakal nyobian nyandak pusat data LAN DC ukuran sedeng sareng damel sadayana skéma automation.
Kuring bakal ngalakukeun sababaraha hal ampir pikeun kahiji kalina sareng anjeun.

Abdi moal asli dina ideu sareng alat anu dijelaskeun di dieu. Dmitry Figol ngabogaan alus teuing saluran sareng aliran dina topik ieu.
Artikel-artikel bakal tumpang tindih sareng aranjeunna dina seueur aspek.

LAN DC ngagaduhan 4 DC, sakitar 250 saklar, satengah belasan router sareng sababaraha firewall.
Henteu Facebook, tapi cukup pikeun ngajantenkeun anjeun mikir jero ngeunaan otomatisasi.
Sanajan kitu, aya hiji pamadegan yén lamun boga leuwih ti 1 alat, automation geus diperlukeun.
Nyatana, sesah ngabayangkeun yén saha waé ayeuna tiasa hirup tanpa sahenteuna bungkus naskah dengkul.
Sanaos kuring nguping yén aya kantor dimana alamat IP disimpen dina Excel, sareng masing-masing tina rébuan alat jaringan dikonpigurasi sacara manual sareng gaduh konfigurasi anu unik. Ieu, tangtosna, bisa diliwatan kaluar salaku seni modern, tapi parasaan insinyur urang pasti bakal gelo.

gol

Ayeuna urang bakal nyetél tujuan anu paling abstrak:

  • Jaringan sapertos organisme tunggal
  • Uji konfigurasi
  • Vérsi kaayaan jaringan
  • Ngawaskeun sareng nyageurkeun diri jasa

Engké dina artikel ieu urang bakal kasampak di naon hartina urang bakal ngagunakeun, sarta di handap, urang bakal kasampak di tujuan jeung hartosna di jéntré.

Jaringan sapertos organisme tunggal

Frasa watesan séri, sanajan dina glance kahiji sigana teu jadi signifikan: urang bakal ngonpigurasikeun jaringan, sanes alat individu.
Dina taun-taun ayeuna, urang parantos ningali pergeseran tekenan kana ngarawat jaringan salaku éntitas tunggal, ku kituna Ditetepkeun Software Jaringan, Jaringan Didorong Hajat и Jaringan Otonom.
Barina ogé, naon anu diperlukeun aplikasi global ti jaringan: konektipitas antara titik A jeung B (ogé, sakapeung + B-Z) jeung isolasi tina aplikasi sejen tur pamaké.

Automation pikeun leuwih leutik. Bagian nol. Ngarencanakeun

Janten tugas urang dina séri ieu nyaéta ngawangun sistem, ngajaga konfigurasi ayeuna sakabéh jaringan, nu geus decomposed kana konfigurasi sabenerna dina unggal alat luyu jeung peran na lokasi na.
sistim Manajemén jaringan nunjukkeun yén pikeun parobihan kami ngahubungi éta, sareng éta, kahareupna ngitung kaayaan anu dipikahoyong pikeun tiap alat sareng ngonpigurasikeunana.
Ku cara kieu, urang ngaleutikan aksés manual ka CLI ka ampir enol - parobahan mana wae dina setelan alat atawa desain jaringan kudu formalized na documented - sarta ngan lajeng digulung kaluar ka elemen jaringan perlu.

Nyaéta, contona, upami urang mutuskeun yén ti ayeuna saklar rak di Kazan kedah ngumumkeun dua jaringan tinimbang hiji, urang

  1. Mimiti urang dokumén parobahan dina sistem
  2. Ngahasilkeun konfigurasi target sadaya alat jaringan
  3. Urang ngajalankeun program update konfigurasi jaringan, nu Etang naon kudu dihapus dina unggal titik, naon nambahan, sarta brings titik kana kaayaan dipikahoyong.

Dina waktos anu sami, urang ngadamel parobihan sacara manual ngan ukur dina léngkah munggaran.

Uji konfigurasi

Dipikanyahoyén 80% tina masalah lumangsung salila parobahan konfigurasi - bukti teu langsung ieu nu salila libur Taun Anyar sagalana biasana tenang.
Kuring pribadi geus nyaksian puluhan downtimes global alatan kasalahan manusa: paréntah salah, konfigurasi ieu dieksekusi dina cabang salah, masarakat poho, MPLS ieu dibongkar sacara global dina router dina, lima lembar hardware anu ngonpigurasi, tapi kasalahan henteu. noticed on kagenep, parobahan heubeul dijieun ku jalma sejen anu komitmen . Aya ton skenario.

Automation bakal ngidinan urang nyieun kasalahan pangsaeutikna, tapi dina skala nu leuwih gede. Ku cara ieu Anjeun tiasa bata teu ngan hiji alat, tapi sakabéh jaringan sakaligus.

Ti jaman immemorial, akina urang pariksa correctness tina parobahan dijieun ku panon getol, bal tina baja jeung pungsionalitas jaringan sanggeus aranjeunna digulung kaluar.
Éta akina anu padamelan nyababkeun downtime sareng karugian bencana nyéépkeun turunan anu langkung sakedik sareng kedah maot dina waktosna, tapi évolusi mangrupikeun prosés anu laun, sareng ku kituna henteu sadayana masih nguji parobihan di laboratorium heula.
Sanajan kitu, di forefront kamajuan aya jalma anu geus otomatis prosés nguji konfigurasi sarta aplikasi salajengna ka jaringan. Dina basa sejen, kuring nginjeum prosedur CI/CD (Integrasi kontinyu, deployment kontinyu) ti pamekar.
Dina salah sahiji bagian urang bakal ningali kumaha nerapkeun ieu nganggo sistem kontrol versi, sigana Github.

Sakali anjeun biasa kana ide jaringan CI / CD, sapeuting metode mariksa konfigurasi ku cara nerapkeunana kana jaringan produksi sigana sapertos jahiliah abad pertengahan awal. Ibarat neunggeul hulu ledak ku palu.

Hiji tuluyan organik gagasan ngeunaan sistem manajemén jaringan sarta CI / CD jadi versioning pinuh ku konfigurasi nu.

Versioning

Kami bakal nganggap yén kalayan parobihan naon waé, bahkan anu paling alit, bahkan dina hiji alat anu teu katingali, sakumna jaringan ngalih ti hiji kaayaan ka anu sanés.
Sarta kami salawasna teu ngaéksekusi paréntah dina alat, urang ngarobah kaayaan jaringan.
Janten hayu urang nyauran versi nagara ieu?

Hayu urang nyebutkeun versi ayeuna 1.0.0.
Dupi alamat IP tina panganteur Loopback on salah sahiji ToRs robah? Ieu versi minor sarta bakal dinomeran 1.0.1.
Urang dirévisi kawijakan pikeun impor ruteu kana BGP - saeutik leuwih serius - geus 1.1.0
Kami mutuskeun pikeun ngaleungitkeun IGP sareng ngalih ka BGP wungkul - ieu parantos parobihan desain radikal - 2.0.0.

Dina waktos anu sami, DC anu béda-béda tiasa gaduh vérsi anu béda-béda - jaringan ngembang, alat-alat anyar dipasang, tingkat spines anyar ditambah dimana waé, sanés di batur, jsb.

dina versioning semantis urang bakal ngobrol dina artikel misah.

Kuring ngulang - parobahan naon (iwal paréntah debugging) mangrupakeun update versi. Administrator kudu dibere beja ngeunaan sagala simpangan tina versi ayeuna.

Sami manglaku ka gulung deui parobihan - ieu sanés ngabatalkeun paréntah anu terakhir, ieu sanés gulung deui nganggo sistem operasi alat - ieu nyangking sadaya jaringan kana versi énggal (heubeul).

Ngawaskeun sareng nyageurkeun diri jasa

Tugas anu jelas ieu parantos ngahontal tingkat anyar dina jaringan modern.
Seringna, panyadia ladenan ageung nyandak pendekatan yén layanan anu gagal kedah dibenerkeun gancang pisan sareng anu énggal diangkat, tibatan terang naon anu kajantenan.
"Pohara" ngandung harti yén anjeun kudu generously coated dina sagala sisi kalayan ngawaskeun, nu dina sababaraha detik bakal ngadeteksi simpangan slightest tina norma.
Sareng di dieu métrik biasa, sapertos beban antarmuka atanapi kasadiaan titik, henteu cekap deui. Ngawaskeun manual aranjeunna ku patugas tugas ogé henteu cekap.
Pikeun loba hal kudu aya Nyembuhan Diri - lampu ngawaskeun ngahurungkeun beureum jeung urang indit jeung nerapkeun plantain sorangan dimana eta nyeri.

Sarta di dieu urang ogé ngawas teu ukur alat individu, tapi ogé kaséhatan sakabéh jaringan, duanana whitebox, nu kawilang kaharti, sarta blackbox, nu leuwih pajeulit.

Naon anu urang peryogikeun pikeun ngalaksanakeun rencana ambisius sapertos kitu?

  • Boga daptar sadaya alat dina jaringan, lokasina, peran, model, versi software.
    kazan-daun-1.lmu.net, Kazan, daun, Juniper QFX 5120, R18.3.
  • Boga sistem pikeun ngajelaskeun jasa jaringan.
    IGP, BGP, L2/3VPN, Sarat jeung Kaayaan, ACL, NTP, SSH.
  • Bisa initialize alat.
    Hostname, Mgmt IP, Mgmt Route, Pamaké, RSA-Keys, LLDP, NETCONF
  • Konpigurasikeun alat jeung mawa konfigurasi ka dipikahoyong (kaasup heubeul) versi.
  • Konfigurasi tés
  • Pariksa périodik status sadaya alat pikeun panyimpangan tina anu ayeuna sareng laporkeun ka saha waé.
    Sapeuting, batur quietly ditambahkeun aturan ka ACL.
  • Ngawas kinerja.

Maksadna

Ieu hurung cukup pajeulit pikeun ngamimitian decomposing proyék kana komponén.

Sareng bakal aya sapuluh di antarana:

  1. Sistim inventory
  2. Sistim manajemén spasi IP
  3. Sistim déskripsi jasa jaringan
  4. mékanisme initialization alat
  5. Modél konfigurasi vendor-agnostik
  6. Antarbeungeut supir spésifik vendor
  7. Mékanisme pikeun nganteurkeun konfigurasi ka alat
  8. CI / CD
  9. Mékanisme pikeun cadangan sareng milarian panyimpangan
  10. Sistim pangimeutan

Ku jalan kitu, éta conto kumaha pintonan dina tujuan siklus robah - aya 4 komponén dina draf.

Automation pikeun leuwih leutik. Bagian nol. Ngarencanakeun

Dina ilustrasi kuring digambarkeun sakabeh komponen jeung alat sorangan.
Komponén intersecting saling berinteraksi.
Nu leuwih gede blok, beuki perhatian perlu dibayar ka komponén ieu.

komponén 1: Inventory System

Jelas, urang hoyong terang peralatan naon anu aya dimana, naon anu dihubungkeun.
Sistem inventaris mangrupikeun bagian integral tina sagala perusahaan.
Seringna, perusahaan ngagaduhan sistem inventaris anu misah pikeun alat jaringan, anu ngarengsekeun masalah anu langkung spésifik.
Salaku bagian tina séri tulisan ieu, kami bakal nyebat éta DCIM - Manajemén Infrastruktur Pusat Data. Sanaos istilah DCIM sorangan, sacara ketat nyarios, kalebet seueur deui.

Pikeun tujuan urang, urang bakal nyimpen inpormasi ieu ngeunaan alat di jerona:

  • Jumlah inventaris
  • Judul / Katerangan
  • Modél (Huawei CE12800, Juniper QFX5120, jsb.)
  • Parameter karakteristik (papan, panganteur, jsb.)
  • Peran (Daun, Tulang tonggong, Router Border, jsb.)
  • lokasi (wewengkon, kota, puseur data, rak, unit)
  • Interkonéksi antara alat
  • Topologi jaringan

Automation pikeun leuwih leutik. Bagian nol. Ngarencanakeun

Jelas pisan yén urang sorangan hoyong terang sadayana ieu.
Tapi ieu bakal ngabantosan pikeun tujuan automation?
Teu diragukeun.
Salaku conto, urang terang yén dina pusat data anu dipasihkeun dina saklar Daun, upami éta Huawei, ACL pikeun nyaring lalu lintas anu tangtu kedah diterapkeun dina VLAN, sareng upami éta Juniper, teras dina unit 0 antarmuka fisik.
Atanapi anjeun kedah ngagulung server Syslog énggal ka sadaya wates di daérah éta.

Di jerona urang bakal nyimpen alat jaringan virtual, contona router virtual atanapi pemantul akar. Urang tiasa nambihan server DNS, NTP, Syslog sareng sacara umum sadayana anu aya hubunganana sareng jaringan.

Komponén 2: Sistim manajemén spasi IP

Leres, sareng ayeuna aya tim jalma anu ngalacak awalan sareng alamat IP dina file Excel. Tapi pendekatan modern masih database a, kalawan hareup-tungtung on nginx / Apache, API jeung fungsi éksténsif pikeun ngarekam alamat IP jeung jaringan dibagi kana VRFs.
IPAM - Manajemén Alamat IP.

Pikeun tujuan kami, kami bakal nyimpen inpormasi ieu di jerona:

  • VLAN
  • VRF
  • Jaringan/Subnet
  • alamat IP
  • Ngabeungkeut alamat ka alat, jaringan ka lokasi sareng nomer VLAN

Automation pikeun leuwih leutik. Bagian nol. Ngarencanakeun

Sakali deui, écés yén urang hoyong mastikeun yén nalika urang nyayogikeun alamat IP énggal pikeun loopback ToR, urang moal titajong kana kanyataan yén éta parantos ditugaskeun ka batur. Atanapi urang nganggo awalan anu sami dua kali dina tungtung jaringan anu béda.
Tapi kumaha ieu ngabantosan otomatisasi?
Gampang.
Urang menta awalan dina sistem jeung peran Loopbacks, nu ngandung alamat IP sadia pikeun alokasi - lamun kapanggih, urang allocate alamatna, lamun henteu, urang menta kreasi awalan anyar.
Atanapi nalika nyiptakeun konfigurasi alat, urang tiasa mendakan tina sistem anu sami dimana antarmuka VRF kedah aya.
Sareng nalika ngamimitian server énggal, skrip asup kana sistem, mendakan mana switch server, mana port sareng subnet mana anu ditugaskeun ka antarmuka - sareng bakal nyayogikeun alamat server ti dinya.

Ieu nunjukkeun kahayang pikeun ngagabungkeun DCIM sareng IPAM kana hiji sistem supados henteu duplikat fungsi sareng henteu ngalayanan dua éntitas anu sami.
Éta anu bakal urang laksanakeun.

Komponén 3. Sistem pikeun ngajelaskeun jasa jaringan

Upami dua sistem munggaran nyimpen variabel anu masih kedah dianggo kumaha waé, maka anu katilu ngajelaskeun pikeun tiap peran alat kumaha éta kedah dikonpigurasikeun.
Perlu ngabédakeun dua jinis jasa jaringan:

  • Infrastruktur
  • klien.

Urut dirancang pikeun nyadiakeun konektipitas dasar jeung kontrol alat. Ieu kalebet VTY, SNMP, NTP, Syslog, AAA, protokol routing, CoPP, jsb.
Anu terakhir ngatur jasa pikeun klien: MPLS L2 / L3VPN, GRE, VXLAN, VLAN, L2TP, jsb.
Tangtosna, aya ogé kasus wates - dimana kalebet MPLS LDP, BGP? Leres, sareng protokol routing tiasa dianggo pikeun klien. Tapi ieu teu penting.

Kadua jinis jasa dirobih kana konfigurasi primitif:

  • panganteur fisik jeung logis (tag/anteg, mtu)
  • Alamat IP sareng VRF (IP, IPv6, VRF)
  • ACLs jeung kawijakan processing lalulintas
  • Protokol (IGP, BGP, MPLS)
  • Kabijakan rute (daptar awalan, komunitas, saringan ASN).
  • Ladenan utiliti (SSH, NTP, LLDP, Syslog...)
  • Jsb.

Kumaha kahayang urang bakal ngalakukeun ieu, kuring teu boga pamanggih acan. Urang bakal ningali kana éta dina tulisan anu misah.

Automation pikeun leuwih leutik. Bagian nol. Ngarencanakeun

Upami langkung caket kana kahirupan, maka urang tiasa ngajelaskeun éta
Switch Daun kedah gaduh sesi BGP sareng sadaya saklar Tulang tonggong anu disambungkeun, ngimpor jaringan anu nyambung kana prosés, sareng nampi ngan ukur jaringan tina awalan tina saklar Spine. Ngawatesan CoPP IPv6 ND ka 10 pps, jsb.
Dina gilirannana, spines ngayakeun sesi kalayan sagala ngawujud disambungkeun, akting salaku reflectors root, sarta nampa ti aranjeunna ukur ruteu panjangna tangtu sarta kalawan komunitas tangtu.

Komponén 4: Mékanisme Initialization Alat

Dina judul ieu kuring ngagabungkeun loba lampah nu kudu lumangsung dina urutan pikeun alat pikeun némbongan dina radar sarta diaksés jarak jauh.

  1. Lebetkeun alat dina sistem inventory.
  2. Pilih alamat IP manajemén.
  3. Setel aksés dasar pikeun éta:
    Ngaran host, alamat IP manajemén, rute ka jaringan manajemén, pangguna, konci SSH, protokol - telnet/SSH/NETCONF

Aya tilu pendekatan:

  • Sagalana sagemblengna manual. Alatna dibawa ka lapak, dimana jalma organik biasa bakal ngalebetkeun kana sistem, nyambung ka konsol sareng ngonpigurasikeunana. Bisa dianggo dina jaringan statik leutik.
  • ZTP - Zero Toel Provisioning. Hardware anjog, nangtung, narima alamat via DHCP, indit ka server husus, sarta ngonpigurasi sorangan.
  • Infrastruktur server konsol, dimana konfigurasi awal lumangsung ngaliwatan port konsol dina modeu otomatis.

Urang bakal ngobrol ngeunaan tilu dina artikel misah.

Automation pikeun leuwih leutik. Bagian nol. Ngarencanakeun

Komponén 5: Modél konfigurasi Vendor-agnostik

Nepi ka ayeuna, sakabéh sistem geus patch disparate nu nyadiakeun variabel sarta déskripsi déklaratif naon urang hoyong ningali dina jaringan. Tapi sooner atanapi engké, anjeun bakal kudu nungkulan specifics.
Dina tahap ieu, pikeun tiap alat husus, primitif, jasa jeung variabel digabungkeun kana model konfigurasi nu sabenerna ngajelaskeun konfigurasi lengkep alat husus, ngan dina ragam ngajual-nétral.
Naon léngkah ieu? Naha henteu langsung ngadamel konfigurasi alat anu anjeun tiasa unggah?
Kanyataanna, ieu solves tilu masalah:

  1. Ulah adaptasi jeung panganteur husus pikeun interacting jeung alat. Janten CLI, NETCONF, RESTCONF, SNMP - modélna bakal sami.
  2. Ulah tetep jumlah template / Aksara nurutkeun jumlah nu ngical paralatan dina jaringan, sarta lamun desain robah, ngarobah hal anu sarua dina sababaraha tempat.
  3. Ngamuat konfigurasi tina alat (cadangan), nempatkeun kana persis model sarua jeung langsung ngabandingkeun konfigurasi target jeung nu geus aya pikeun ngitung délta jeung nyiapkeun patch konfigurasi nu bakal ngarobah ngan maranéhanana bagian anu diperlukeun atawa pikeun ngaidentipikasi simpangan.

Automation pikeun leuwih leutik. Bagian nol. Ngarencanakeun

Salaku hasil tina tahap ieu, urang ménta konfigurasi vendor-bebas.

Komponén 6. panganteur supir husus vendor

Anjeun teu kedah ngosongkeun diri kalayan harepan yén hiji dinten bakal tiasa ngonpigurasikeun ciska dina cara anu sami sareng Juniper, ngan saukur ngirim telepon anu sami ka aranjeunna. Sanajan popularitas tumuwuh tina whiteboxes sarta mecenghulna rojongan pikeun NETCONF, RESTCONF, OpenConfig, eusi husus yén protokol ieu nganteurkeun béda ti ngajual ka vendor, sarta ieu téh salah sahiji béda kalapa maranéhanana yén maranéhna moal nyerah jadi gampang.
Ieu kasarna sarua OpenContrail na OpenStack, nu mibanda RestAPI salaku panganteur NorthBound maranéhna, nyangka nelepon lengkep beda.

Janten, dina lengkah kalima, modél anu mandiri-jualan kedah nyandak bentuk anu bakal angkat ka hardware.
Sareng di dieu sadayana hartosna saé (henteu): CLI, NETCONF, RESTCONF, SNMP saukur.

Ku alatan éta, urang bakal butuh supir anu bakal mindahkeun hasil tina hambalan saméméhna kana format diperlukeun tina vendor husus: susunan paréntah CLI, struktur XML.

Automation pikeun leuwih leutik. Bagian nol. Ngarencanakeun

Komponén 7. Mékanisme pikeun nganteurkeun konfigurasi ka alat

Kami parantos nyiptakeun konfigurasi, tapi tetep kedah dikirimkeun ka alat - sareng, écés, sanés ku tangan.
firstly, urang disanghareupan ku patarosan ngeunaan angkutan naon anu bakal kami anggo? Sareng ayeuna pilihanna henteu langkung alit:

  • CLI (telnet, ssh)
  • SNMP
  • NETCONF
  • RESTCONF
  • sesa API
  • OpenFlow (sanaos éta outlier sabab éta cara pikeun ngirim FIB, sanés setélan)

Hayu urang titik t di dieu. CLI mangrupikeun warisan. SNMP... batuk batuk.
RESTCONF masih sato anu teu dipikanyaho; REST API dirojong ku ampir teu aya. Kituna, urang bakal difokuskeun NETCONF dina séri.

Nyatana, sakumaha anu parantos kahartos ku anu maca, ku waktos ieu kami parantos mutuskeun dina antarmuka - hasil tina léngkah sateuacana parantos dibere dina format antarmuka anu dipilih.

Bréh, sareng alat naon anu bakal kami lakukeun?
Aya ogé pilihan anu ageung di dieu:

  • Naskah atanapi platform tulisan sorangan. Hayu urang panangan diri sareng ncclient sareng asyncIO sareng lakukeun sadayana nyalira. Sabaraha biaya urang ngawangun sistem panyebaran ti mimiti?
  • Ansible sareng perpustakaan modul jaringan anu beunghar.
  • Uyah jeung karya meager na kalawan jaringan sarta sambungan kalawan Napalm.
  • Sabenerna Napalm, anu terang sababaraha padagang sareng éta, wilujeung.
  • Nornir mangrupikeun sato sanés anu bakal urang ngabedah ka hareup.

Di dieu paporit henteu acan dipilih - urang bakal milarian.

Naon deui anu penting di dieu? Konsékuansi tina nerapkeun konfigurasi.
Suksés atawa henteu. Naha masih aya aksés kana hardware atanapi henteu?
Sigana yén komitmen bakal ngabantosan di dieu ku konfirmasi sareng validasi naon anu diunduh kana alat.
Ieu, digabungkeun jeung palaksanaan bener NETCONF, nyata narrows rentang alat cocog - teu loba pabrik ngarojong commits normal. Tapi ieu ngan salah sahiji prerequisites di RFP. Tungtungna, teu aya anu hariwang yén teu aya hiji padagang Rusia anu sasuai sareng kaayaan antarmuka 32 * 100GE. Atawa anjeunna hariwang?

Automation pikeun leuwih leutik. Bagian nol. Ngarencanakeun

Komponén 8. CI / CD

Dina titik ieu, urang geus boga konfigurasi siap pikeun sakabéh alat jaringan.
Kuring nulis "kanggo sagalana" sabab urang keur diajak ngobrol ngeunaan versioning kaayaan jaringan. Sareng upami anjeun kedah ngarobih setélan ngan ukur hiji saklar, parobihan diitung kanggo sadayana jaringan. Jelas, aranjeunna tiasa nol pikeun kalolobaan titik.

Tapi, sakumaha anu parantos didadarkeun di luhur, kami sanés jinis barbarians anu hoyong ngagulung sadayana langsung kana produksi.
Konfigurasi anu dihasilkeun kedah ngalangkungan Pipeline CI/CD.

CI / CD nangtung pikeun Continuous Integration, Continuous Deployment. Ieu mangrupikeun pendekatan dimana tim henteu ngan ukur ngaluarkeun sékrési utama énggal unggal genep bulan, ngagentos lengkep anu lami, tapi sacara rutin ngenalkeun (Panyebaran) fungsionalitas anyar dina porsi leutik, anu masing-masing diuji sacara komprehensif pikeun kasaluyuan, kaamanan sareng kinerja (Integrasi).

Jang ngalampahkeun ieu, urang boga sistem kontrol versi nu ngawas parobahan konfigurasi, laboratorium nu pariksa naha layanan klien rusak, sistem ngawaskeun kanyataan ieu, sarta lengkah panungtungan nyaéta rolling kaluar parobahan jaringan produksi.

Kacuali paréntah debugging, leres pisan sadaya parobihan dina jaringan kedah ngalangkungan Pipa CI / CD - ieu mangrupikeun jaminan kami pikeun hirup anu tenang sareng karir anu panjang sareng bahagia.

Automation pikeun leuwih leutik. Bagian nol. Ngarencanakeun

Komponén 9. Nyadangkeun jeung sistem deteksi anomali

Nya, teu kedah ngobrol deui ngeunaan cadangan.
Urang ngan saukur bakal nempatkeun aranjeunna dina git nurutkeun makuta atawa kana kanyataan parobahan konfigurasi.

Tapi bagian kadua langkung narik - batur kedah ngawaskeun cadangan ieu. Sarta dina sababaraha kasus, batur ieu kudu balik jeung ngahurungkeun sagalana sabudeureun sakumaha ieu, sarta di batur, meong ka batur yén aya nu salah.
Salaku conto, upami pangguna énggal muncul anu henteu kadaptar dina variabel, anjeun kedah ngahapus anjeunna tina hack. Tur upami eta leuwih hade teu noél aturan firewall anyar, meureun batur ngan dihurungkeun debugging, atawa meureun layanan anyar, bungler a, teu didaptarkeun nurutkeun peraturan, tapi jalma geus ngagabung.

Simkuring masih moal luput sababaraha délta leutik dina skala sakabéh jaringan, sanajan sagala sistem automation jeung leungeun steely manajemén. Pikeun masalah debug, teu aya anu bakal nambihan konfigurasi kana sistem. Leuwih ti éta, maranéhna malah moal bisa kaasup kana model konfigurasi.

Contona, aturan firewall pikeun cacah jumlah pakét per IP husus pikeun localize masalah mangrupakeun konfigurasi samentara lengkep biasa.

Automation pikeun leuwih leutik. Bagian nol. Ngarencanakeun

Komponén 10. Sistim pangimeutan

Mimitina kuring henteu badé nutupan topik ngawaskeun - éta masih janten topik anu ageung, kontroversial sareng kompleks. Tapi sakumaha kamajuan, tétéla yén ieu mangrupa bagian integral automation. Sareng mustahil pikeun ngalangkunganana, sanaos tanpa latihan.

Pikiran Berkembang mangrupikeun bagian organik tina prosés CI / CD. Saatos gulung kaluar konfigurasi kana jaringan, urang kudu bisa nangtukeun naha sagalana geus oke jeung ayeuna.
Sarta kami ngawangkong teu ngan teu jadi loba ngeunaan jadwal pamakéan panganteur atawa kasadiaan titik, tapi ngeunaan hal leuwih halus - ayana ruteu perlu, atribut on aranjeunna, jumlah sesi BGP, tatangga OSPF, kinerja End-to-Ahir. jasa overlying.
Naha syslogs ka server éksternal eureun nambahan, atanapi agén SFlow ngarecah, atanapi naha tetes dina antrian mimiti tumuwuh, atanapi naha konektipitas antara sababaraha sapasang awalan ngarecah?

Urang bakal ngeunteung dina artikel anu misah.

Automation pikeun leuwih leutik. Bagian nol. Ngarencanakeun

Automation pikeun leuwih leutik. Bagian nol. Ngarencanakeun

kacindekan

Salaku dasar, kuring milih salah sahiji desain jaringan puseur data modern - L3 Clos Fabric kalawan BGP salaku protokol routing.
waktos Ieu urang bakal ngawangun jaringan on Juniper, sabab ayeuna panganteur JunOs vanlove a.

Hayu urang ngajantenkeun kahirupan urang langkung hese ku ngan ukur nganggo alat Open Source sareng jaringan multi-vendor - janten salian ti Juniper, kuring bakal milih hiji jalma anu langkung untung sapanjang jalan.

Rencana pikeun publikasi anu bakal datang nyaéta sapertos kieu:
Mimiti kuring bakal ngobrol ngeunaan jaringan virtual. Anu mimiti, sabab kuring hoyong, sareng kadua, sabab tanpa ieu, desain jaringan infrastruktur moal jelas pisan.
Lajeng ngeunaan rarancang jaringan sorangan: topologi, routing, kawijakan.
Hayu urang ngumpul stand laboratorium.
Hayu urang mikir ngeunaan eta sarta meureun latihan initializing alat dina jaringan.
Lajeng ngeunaan unggal komponén di jéntré intim.

Sareng enya, kuring henteu janji bakal ngeureunkeun siklus ieu kalayan solusi anu siap-siap. 🙂

link mangpaat

  • Sateuacan delving kana séri, éta patut maca buku Natasha Samoilenko Python pikeun Network Insinyur. Jeung meureun lulus anu tangtu.
  • Éta ogé bakal mangpaat pikeun maca RFC ngeunaan desain pabrik puseur data ti Facebook ku Peter Lapukhov.
  • Dokuméntasi arsitéktur bakal masihan anjeun ide kumaha Overlay SDN jalan. Kain Tungsten (baheulana Open Contrail).
hatur nuhun

Jurang Romawi. Pikeun koméntar sareng éditan.
Artyom Chernobay. Pikeun KDPV.

sumber: www.habr.com

Tambahkeun komentar