Cisco logotip Omrežna avtomatizacija Cisco NX-OS z uporabo PythonaOmrežna avtomatizacija Cisco NX-OS z uporabo izdelka Python-0

Avtomatizacija omrežja

  • Postopek uporabe programske opreme za avtomatizacijo zagotavljanja omrežja, testiranja, uvajanja in upravljanja omrežja
  • Za pomoč pri povečanju učinkovitosti in funkcionalnosti omrežja
  • Omrežja so po naravi zapletena in obsežna
  • Ročne operacije – več zamud
  • Avtomatizacija naredi omrežja bolj agilna in odzivna na spremembe
  • Prednosti:
  • Izboljšana operativna učinkovitost
  • Zmanjšane napake

Arhitektura omrežne avtomatizacijeOmrežna avtomatizacija Cisco NX-OS z uporabo Python-1

Programiranje omrežjaOmrežna avtomatizacija Cisco NX-OS z uporabo Python-2

  • To je nabor orodij za uvajanje, upravljanje in odpravljanje težav z omrežno napravo
  • Pogled omrežnega inženirja – interakcija z napravo ali skupino naprav
  • Perspektiva razvijalca programske opreme – abstrahiranje omrežja. Videti celotno omrežje kot eno samo napravo in jo upravljati s programsko opremo

Prednosti programiranja omrežja

  • Zmanjšani OPEX
  • Prilagajanje
  • Zmanjšana človeška napaka
  • Operativna prilagodljivost
  • Povečana možnost za inovacije

Vmesnik za programiranje aplikacij (API)Omrežna avtomatizacija Cisco NX-OS z uporabo Python-3

  • API-ji so mehanizmi, ki se uporabljajo za komunikacijo z aplikacijami in drugo programsko opremo.
  • API lahko izvaja različne funkcije glede na lokacijo v toku
  • Uporablja se za komunikacijo z različnimi komponentami omrežja prek programske opreme
  • API-ji so običajno RESTful API-ji

API-ji za prenos reprezentativnega stanja (REST).

  • API, ki uporablja REST, se pogosto imenuje RESTful API
  • API-ji RESTful uporabljajo metode protokola za prenos hiperteksta (HTTP) za zbiranje in obdelavo podatkov.
Funkcija HTTP Akcija
DOBITI Preberi
OBJAVI Ustvari
POKRIV Posodobi / spremeni
POSTAVITE Posodobi / Zamenjaj
IZBRIŠI Izbriši

Kodi stanja HTTP

HTTP STATUS

KODA

REZULTAT POGOSTI RAZLOG
200 Ok Uporaba GET ali POST za izmenjavo podatkov z

API

201 Ustvarjeno Ustvarjanje virov z uporabo klica REST API
400 Slaba zahteva Zahteva ni uspela zaradi težave na strani odjemalca
401 Nepooblaščeno Odjemalec ni preverjen za dostop do spletnega mesta oz

API klic

403 Prepovedano Dostop ni odobren na podlagi dobavljenega

poverilnice

404 Ni najdeno Stran pri HTTP URL lokacija ne obstaja

ali je skrita

Netmiko Konecview

  • Netmiko – knjižnica Python, ki se v veliki meri uporablja za interakcijo z omrežnimi napravami
  • Knjižnica več prodajalcev
  • Cisco IOS/IOS-XE, NX-OS, požarni zidovi itd.
  • Razširjena podpora za funkcionalnost SSH knjižnice Paramiko
  • Prehod v konfiguracijske načine
  • Pošiljanje ukazov
  • Pridobivanje izhodov
  • Skrb za pozive da/ne

NAPALM Konecview

  • NAPALM – Abstraktna plast avtomatizacije omrežja in programirljivosti s podporo več proizvajalcev
  • Zagotavlja funkcije, ki omogočajo:
  • Konfiguracijske operacije (zaveza ali povrnitev)
  • Pridobite podatke o stanju iz omrežnih naprav
  • Vsebuje metode za vzpostavitev povezave z omrežnimi napravami
  • Lahko deluje v povezavi z orodji za avtomatizacijo – Ansible
  • Ima podporo za različne omrežne OS:
  • IOS, IOS-XR, NX-OS, JunOS, EOS itd.
Operacije NAPALM
  • Zamenjaj – uporabnikom omogoča zamenjavo obstoječe tekoče konfiguracije s popolnoma novo konfiguracijo.
  • Spoji – uporabnikom omogoča združitev sprememb konfiguracije iz a file na tekočo konfiguracijo v napravi.
  • Primerjaj – primerjajte na novo predlagano konfiguracijo z obstoječo. Velja samo za operacijo zamenjave in ne za operacijo spajanja.
  • Zavrzi – ponastavi konfiguracijo spajanja file na prazno file. Tako ne dovolite uporabe nove konfiguracije v napravi.
  • Potrdi – potrdi predlagano konfiguracijo v omrežno napravo. Z drugimi besedami, uporablja se za uvajanje kottaged konfiguracijo.
  • Povrni nazaj – Povrni (vrni nazaj) tekočo konfiguracijo na shranjeno konfiguracijo pred zadnjo potrditvijo.

Predlogiranje z Jinja2

  • Jinja je sodoben jezik za predloge za Python – oblikovan po predlogah Django
  • Uporabniku omogoča enostavno interakcijo s programom Python
  • Uporabite podatke za hitro ustvarjanje dinamične vsebine
  • Prednosti:
  • Dedovanje predloge
  • Optimalna pravočasna kompilacija
  • Enostavno odpravljanje napak
  • Nastavljiva sintaksa
  • Pogosto se uporablja z web ogrodja, kot je Flask
  • Orodja za upravljanje konfiguracije – Ansible, Nornir itd.

LočilaOmrežna avtomatizacija Cisco NX-OS z uporabo Python-aNornir Konecview

  • Ogrodje za avtomatizacijo, ki temelji na Pythonu
  • Upravljajte inventar omrežja in gostitelja ter zagotovite skupni okvir za pisanje plugins za omrežne naprave in gostitelje
  • Zahteva vsaj Python različice 3.6.2
  • Večnitno – privzeto je 20 delovnih niti
  • Inicializirano z uporabo config file – reference nekaj drugega files
  • Gostiteljski inventar file
  • skupina file
  • Vsi ti fileso napisani v formatu YAML

Nornir Advantages

  • Python ali Golang (Gornir)
  • Ponovno uporabite obstoječe knjižnice – napalm, netmiko
  • Hitro filtriranje gostitelja na podlagi katerega koli atributa ali kombinacije atributov
  • Zelo hitro zaradi uporabe niti
  • Uporablja se lahko za izdelavo zelo prilagodljivih in razširljivih orodij za avtomatizacijo z uporabo Flask, Django itd.
  • Samodejno izvede predpomnjenje in zapre odprte povezave

Dodatni viri in reference

Cisco Press News

Osnove programiranja omrežja in avtomatizacije [Več o tem] CCNP in CCIE Security Core SCOR 350-701 Uradni vodnik za potrdila
https://www.ciscopress.com/store/ccnp-and-ccie-security-core-scor-350-701-official-cert-9780135971970

Študijski vodnik Cisco DevNet Professional DEVCOR 350-901
https://www.ciscopress.com/store/cisco-devnet-professional-devcor-350-901-study-guide-9780137500048

Drugi uporabni viri:
Interview z Vinitom Jainom, glavnim sodelavcem Ciscovih dogodkov
https://community.cisco.com/t5/networking-documents/interview-with-vinit-jain-cisco-s-top-events-contributor/ta-p/3156059
Vinitove publikacije
http://www.ciscopress.com/authors/bio/255ee209-1418-4938-9a42-d3bece2b46c6

Dokumenti / Viri

Omrežna avtomatizacija Cisco NX-OS z uporabo Pythona [pdfUporabniški priročnik
Omrežna avtomatizacija NX-OS z uporabo Pythona, Omrežna avtomatizacija z uporabo Pythona, z uporabo Pythona

Reference

Pustite komentar

Vaš elektronski naslov ne bo objavljen. Obvezna polja so označena *