Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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.

Tabelle 1: Junos PyEZ-Version auf unterstützten Junos-Geräten

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.

Tabelle 2: Junos PyEZ-Ressourcen

Ressource

Beschreibung

URL

API-Referenz

Ausführliche Dokumentation für die Junos PyEZ-Module.

https://junos-pyez.readthedocs.org/

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.

https://github.com/Juniper/py-junos-eznc/

Google Groups-Forum

Forum, das Fragen beantwortet und allgemeinen Support für Junos PyEZ bietet.

https://groups.google.com/group/junos-python-ez

Beispielskripte

Junos PyEZ-Beispielskripte für den Einstieg.

https://github.com/Juniper/junosautomation/tree/master/pyez

Stack Overflow-Forum

Forum, das Fragen beantwortet und allgemeinen Support für Junos PyEZ bietet.

https://stackoverflow.com/questions/tagged/pyez