Grundlegendes zu Junos PyEZ
ZUSAMMENFASSUNG Verwenden Sie die Junos PyEZ Python-Bibliothek, um Python-Skripte zu entwickeln, mit denen Junos-Geräte remote verwaltet werden können.
Junos PyEZ – Übersicht
Junos PyEZ ist ein Microframework für Python, mit dem Sie Junos-Geräte verwalten und automatisieren können. Junos PyEZ wurde entwickelt, um die Funktionen bereitzustellen, die ein Benutzer auf der Junos OS CLI in einer Umgebung hat, die für Automatisierungsaufgaben ausgelegt ist. Junos PyEZ erfordert keine umfassenden Kenntnisse von Junos OS oder den Junos XML-APIs.
Mit Junos PyEZ können Sie Junos-Geräte mit der vertrauten Python-Technologie verwalten. Sie müssen jedoch kein erfahrener Programmierer sein, um Junos PyEZ zu verwenden. Nicht-Programmierer können einfache Befehle im interaktiven Python-Modus schnell ausführen, und erfahrenere Programmierer können sich dafür entscheiden, komplexere, robustere und wiederverwendbare Programme zum Ausführen von Aufgaben zu erstellen.
Mit Junos PyEZ können Sie über eine serielle Konsolenverbindung, Telnet oder eine NETCONF-Sitzung über SSH eine direkte Verbindung zu einem Gerät herstellen. Darüber hinaus unterstützt Junos PyEZ auch die Verbindung mit dem Gerät über eine Telnet- oder SSH-Verbindung mit einem Konsolenserver, der mit dem Port des Geräts CONSOLE
verbunden ist. Sie können Junos PyEZ verwenden, um ein neues oder auf Null gesetztes Gerät, das noch nicht für den Remotezugriff konfiguriert ist, zunächst zu konfigurieren, indem Sie entweder eine serielle Konsolenverbindung verwenden, wenn Sie direkt mit dem Gerät verbunden sind, oder über Telnet oder SSH über einen Konsolenserver, der direkt mit dem Gerät verbunden ist.
Junos PyEZ bietet Dienstprogramme für Geräte, Software und Dateisysteme, mit denen Sie allgemeine Betriebsaufgaben auf Junos-Geräten ausführen können. Sie können Junos PyEZ für Folgendes verwenden:
Abrufen von Fakten oder Betriebsinformationen von einem Gerät
Führen Sie Remote Procedure Calls (RPC) aus, die über die Junos XML-API verfügbar sind
Installieren oder Aktualisieren der Junos OS-Software
Starten Sie das Gerät neu oder fahren Sie es herunter
Ausführen allgemeiner administrativer Aufgaben wie Kopieren von Dateien und Berechnen von Prüfsummen
Mit Junos PyEZ können Sie auch Junos-Gerätekonfigurationen verwalten. Mit den Dienstprogrammen für das Konfigurationsmanagement von Junos PyEZ können Sie:
Abrufen von Konfigurationsdaten
Konfigurationen vergleichen
Hochladen und Bestätigen von Konfigurationsänderungen
Zurücksetzen der Konfiguration
Verwalten der Rettungskonfiguration
Junos PyEZ unterstützt Standardformate für Konfigurationsdaten, einschließlich ASCII-Text, Junos XML-Elemente, Junos OS-Befehle set
und JavaScript Object Notation (JSON). Sie können auch Jinja2-Vorlagen und -Vorlagendateien für zusätzliche Flexibilität und Anpassung verwenden. Darüber hinaus können Sie mithilfe von Tabellen und Ansichten strukturierte Ressourcen definieren, mit denen Sie ein Gerät programmgesteuert konfigurieren können.
Mit Junos PyEZ-Tabellen und -Ansichten können Sie sowohl Junos-Geräte konfigurieren als auch bestimmte Betriebsinformationen oder Konfigurationsdaten aus den Geräten extrahieren. Sie definieren Tabellen und Sichten mithilfe einfacher YAML-Dateien, die Schlüssel-Wert-Paarzuordnungen enthalten, sodass keine komplexe Codierung erforderlich ist, um sie zu verwenden. Sie können Tabellen und Ansichten verwenden, um die Gerätekonfiguration oder die Ausgabe für einen beliebigen Junos-Befehl oder RPC abzurufen und dann eine benutzerdefinierte Teilmenge der Informationen zu extrahieren. Dies ist nützlich, wenn Sie Informationen aus einigen bestimmten Feldern abrufen müssen, die in eine umfangreiche Befehlsausgabe eingebettet sind, z. B. für den show route
Befehl oder show interfaces
. Darüber hinaus können Sie Tabellen und Ansichten verwenden, um strukturierte Konfigurationsressourcen zu definieren. Junos PyEZ erstellt dynamisch eine Konfigurationsklasse für die Ressource, mit der Sie die Ressource programmgesteuert auf einem Gerät konfigurieren können.
Vorteile von Junos PyEZ
Stellt eine Abstraktionsschicht bereit, die es Python-Programmierern und Nicht-Programmierern ermöglicht, Junos-Geräte einfach zu verwalten und zu automatisieren.
Steigert die betriebliche Effizienz, indem Bediener in die Lage versetzt werden, gängige Aufgaben zu automatisieren und so die manuelle Konfiguration und Verwaltung von Geräten zu reduzieren.
Minimiert Fehler und Risiken durch die Ermöglichung strukturierter Konfigurationsänderungen von Zielressourcen.
Verwenden von Junos PyEZ in Automatisierungsskripts
Junos OS und Junos OS Evolved enthalten das Python-Erweiterungspaket und die Junos PyEZ-Bibliothek im Software-Image auf unterstützten Geräten. Mit diesen Erweiterungen können Sie integrierte Python-Skripts erstellen, die Junos PyEZ verwenden, um RPCs auszuführen und Betriebs- und Konfigurationsaufgaben auf dem Gerät auszuführen. Junos PyEZ wird in Commit-, Event-, Op- und SNMP-Skripten unterstützt. Juniper Extension Toolkit (JET)-Skripte; und YANG-Aktions- und Übersetzungsskripte.
Tabelle 1 fasst die Junos PyEZ-Version zusammen, die auf unterstützten Geräten verfügbar ist, auf denen die jeweilige Junos OS-Version ausgeführt wird. Beispielsweise kann ein integriertes Python-Skript ab Junos OS Version 17.4R1 Funktionen in Junos PyEZ Version 2.1.4 und früheren Versionen nutzen.
Junos OS-Version |
Junos PyEZ-Version |
---|---|
16.1R3 bis 17.3 |
1.3.1 |
17.4R1 bis 19.3 |
2.1.4 |
19.4R1 und höher |
2.2.0 |
Weitere Informationen zum Erstellen von Onbox-Python-Automatisierungsskripts finden Sie unter Grundlegendes zu Python-Automatisierungsskripts für Geräte, auf denen Junos OS ausgeführt wird im Junos OS Automation Scripting-Benutzerhandbuch.
Junos PyEZ-Ressourcen
Juniper Networks stellt eine Reihe von Junos PyEZ-Ressourcen bereit, die in Tabelle 2 beschrieben sind.
Ressource |
Beschreibung |
URL |
---|---|---|
API-Referenz |
Ausführliche Dokumentation für die Junos PyEZ-Module. |
|
Tag eins: Junos PyEZ Cookbook und Skript-Repository |
Junos PyEZ-Rezeptbuch zur Netzwerkautomatisierung mit einem Setup-Leitfaden, einer Start-up-Sandbox und einer vollständigen Präsentation von Automatisierungsskripten, die auf GitHub verfügbar sind. |
https://www.juniper.net/documentation/en_US/day-one-books/DO_PyEZ_Cookbook.pdf https://github.com/Juniper/junosautomation/tree/master/pyez/PyEZ_Cookbook_2017 |
Dokumentation |
Junos PyEZ-Dokumentation mit detaillierten Informationen zur Installation von Junos PyEZ und zur Verwendung von Junos PyEZ zum Ausführen von Betriebs- und Konfigurationsaufgaben auf Junos-Geräten. |
https://www.juniper.net/documentation/product/us/en/junos-pyez |
GitHub-Repository |
Öffentliches Repository für das Junos PyEZ-Projekt. Dieses Repository enthält den aktuellsten Quellcode, Installationsanweisungen und Zusammenfassungen der Versionshinweise für alle Versionen. |
|
Google Groups-Forum |
Forum, das Fragen beantwortet und allgemeinen Support für Junos PyEZ bietet. |
|
Beispielskripte |
Junos PyEZ-Beispielskripte für den Einstieg. |
|
Stack Overflow-Forum |
Forum, das Fragen beantwortet und allgemeinen Support für Junos PyEZ bietet. |