Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Junos PyEZ verstehen

Verwenden Sie die Junos PyEZ Python-Bibliothek, um Python-Skripte zu entwickeln, die Junos-Geräte remote verwalten.

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 für Automatisierungsaufgaben zur Verfügung hat. 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 Vertrautheit von Python 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 komplexere, robustere und wiederverwendbare Programme erstellen, um Aufgaben auszuführen.

Mit Junos PyEZ können Sie eine direkte Verbindung zu einem Gerät herstellen, indem Sie eine serielle Konsolenverbindung, Telnet oder eine NETCONF-Sitzung über SSH verwenden. Darüber hinaus unterstützt Junos PyEZ auch die Verbindung mit dem Gerät über eine Telnet- oder SSH-Verbindung zu einem Konsolenserver, der mit dem Port des Geräts CONSOLE verbunden ist. Sie können Junos PyEZ verwenden, um zunächst ein neues oder auf Null gesetztes Gerät zu konfigurieren, das noch nicht für den Remotezugriff konfiguriert ist, indem Sie entweder eine serielle Konsolenverbindung verwenden, wenn Sie direkt mit dem Gerät verbunden sind, oder Telnet oder SSH über einen Konsolenserver verwenden, 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 verwenden, um:

  • Rufen Sie Fakten oder Betriebsinformationen von einem Gerät ab

  • Ausführen von Remote Procedure Calls (RPC), 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 zur Konfigurationsverwaltung von Junos PyEZ können Sie:

  • Abrufen von Konfigurationsdaten

  • Konfigurationen vergleichen

  • Hochladen und Bestätigen von Konfigurationsänderungen

  • Rollback 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 von den Geräten extrahieren. Sie definieren Tabellen und Ansichten 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 umfangreiche Befehlsausgaben eingebettet sind, z. B. für den show route Befehl or 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 auf einem Gerät programmgesteuert konfigurieren können.

Vorteile von Junos PyEZ

  • Bietet eine Abstraktionsschicht, die es Python-Programmierern und Nicht-Programmierern ermöglicht, Junos-Geräte einfach zu verwalten und zu automatisieren.

  • Erhöht die betriebliche Effizienz, indem es den Betreibern die Möglichkeit gibt, gängige Aufgaben zu automatisieren und dadurch die manuelle Konfiguration und Verwaltung von Geräten zu reduzieren.

  • Minimiert Fehler und Risiken, indem es strukturierte Konfigurationsänderungen von Zielressourcen ermöglicht.

Verwendung von Junos PyEZ in Automatisierungsskripten

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 On-Box-Python-Skripte 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 Version von Junos PyEZ zusammen, die auf unterstützten Geräten mit der jeweiligen Version von Junos OS verfügbar ist. Ab Junos OS Version 17.4R1 kann beispielsweise ein On-Box-Python-Skript Funktionen in Junos PyEZ Version 2.1.4 und früheren Versionen nutzen.

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

Version von Junos OS

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-Automatisierung-Skripts für Geräte, auf denen Junos OS ausgeführt wird) im Benutzerhandbuch für Junos OS Automatisierung Scripting.

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.io/en/latest/

Tag eins: Junos PyEZ Kochbuch und Skript-Repository

Junos PyEZ Netzwerkautomatisierungs-Kochbuch mit einem Einrichtungsleitfaden, einer Start-Sandbox und einer vollständigen Präsentation der Automatisierungsskripte, 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 zur Durchführung 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 allgemeine Unterstützung 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 allgemeine Unterstützung für Junos PyEZ bietet.

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