Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Grundlegendes zu Ansible für Junos OS-Sammlungen und -Module

ZUSAMMENFASSUNG Juniper Networks bietet Ansible-Module, mit denen Sie Junos-Geräte verwalten können.

Grundlegendes zu Ansible-Sammlungen und -Modulen für die Verwaltung von Junos-Geräten

Ansible ist ein IT-Automatisierungs-Framework, das für das Konfigurationsmanagement von Infrastrukturen verwendet wird. Sie verwenden Ansible-Module, bei denen es sich um diskrete Codeeinheiten handelt, um bestimmte Funktionen auf einem verwalteten Knoten auszuführen. Sie können einzelne Module auf Remotehosts ausführen, um Ad-hoc-Aufgaben auszuführen, oder Sie können Module über Playbooks ausführen.

Ansible und Juniper Networks stellen Ansible-Module bereit, mit denen Sie Junos-Geräte verwalten können. Die Ansible-Module von Juniper Networks werden über Ansible-Sammlungen gruppiert und verteilt, die im Ansible Galaxy-Repository gehostet werden. Tabelle 1 gibt einen Überblick über die verschiedenen Inhaltssätze, die für die Verwaltung von Junos-Geräten verfügbar sind.

Tabelle 1: Ansible-Inhaltssätze für die Verwaltung von Junos-Geräten

Inhaltsgruppe

Beschreibung

Ansible-Versionen

juniper.device Sammlung

Sammlung für die Verwaltung von Junos-Geräten, die Juniper Networks als Open-Source-Projekt bereitstellt und verwaltet.

Ansible 2.10 und höher

junipernetworks.junos Sammlung

Sammlung für die Verwaltung von Junos-Geräten, die Ansible bereitstellt, pflegt und unterstützt.

Ansible 2.10 und höher

Ansible-Kernmodule
(veraltet)

Ansible-Module, die in der Ansible-Basisinstallation enthalten sind.

In Ansible 2.10 wurden die Core-Module von der Basisinstallation in die junipernetworks.junos Ansible-Sammlung verschoben.

Ansible 2.1 bis Ansible 2.9

Juniper.junos Rolle
(veraltet)

Rolle für die Verwaltung von Junos-Geräten, die von Juniper Networks bereitgestellt, gewartet und unterstützt wird.

Diese Rolle wird durch die juniper.device Sammlung ersetzt.

Ansible 2.1 und höher

Eine Ansible-Rolle besteht aus einer Reihe von Aufgaben und unterstützenden Variablen, Dateien, Vorlagen und Modulen für die Konfiguration eines Hosts. Ab Ansible 2.10 unterstützt Ansible Content Collections, ein Format zum Verteilen von Ansible-Inhalten, das nicht Teil der Ansible-Basisinstallation ist. Ansible-Sammlungen können eine breitere Palette von Inhalten enthalten, einschließlich Modulen, Playbooks, Plugins und Rollen. Ansible-Collections verfügen zudem über eigene Repositories und können unabhängig von der Ansible-Basisinstallation entwickelt und freigegeben werden.

In Ansible 2.9 und früher können Sie Junos-Geräte mithilfe der Module verwalten, die in der Rolle Juniper Networks Juniper.junos bereitgestellt werden, oder mithilfe der Kernmodule, die als Teil der Ansible-Basisinstallation bereitgestellt werden. Ab Ansible 2.10 werden die Juniper.junos Rolle und die Ansible-Kernmodule durch die entsprechende Collection ersetzt. Mit der Einführung der Sammlung von Juniper Networks juniper.device wurden die Module in der Juniper.junos Rolle unter neuen Namen in der Sammlung dupliziert und behalten somit die gleichen Funktionen und Parameter wie die ursprünglichen Module bei, mit Ausnahme des provider Parameters. Es wird empfohlen, die juniper.device Sammlung zu verwenden, da der Sammlung erst in Zukunft neue Features hinzugefügt werden.

Ausführen von Modulen auf Junos-Geräten

Um die Sammlungen zu verwenden, die im Ansible Galaxy-Repository gehostet werden, müssen Sie zuerst Ansible auf dem Steuerungsknoten und dann die Sammlung installieren. Weitere Informationen zum Installieren der juniper.device Sammlung finden Sie unter Serveranforderungen für Ansible für Junos OS.

Ansible-Module können Operationen auf einem verwalteten Knoten ausführen. In der Regel sendet der Ansible-Steuerungsknoten ein Modul an einen verwalteten Knoten, wo es ausgeführt und anschließend entfernt wird. In diesem Szenario muss der verwaltete Knoten in der Lage sein, das Modul auszuführen. Da die meisten Ansible-Module in Python geschrieben sind, erfordert Ansible in der Regel Python auf dem verwalteten Knoten.

Für die Juniper Networks-Module in der juniper.device Sammlung ist jedoch kein Python auf den verwalteten Knoten erforderlich. Im Gegensatz zum üblichen Vorgang werden die Module lokal auf dem Ansible-Steuerungsknoten ausgeführt, und die Module verwenden Junos PyEZ und die Junos XML-API über NETCONF als Schnittstelle zum verwalteten Knoten. Diese Ausführungsmethode ermöglicht es Ihnen, Ansible zu verwenden, um jedes unterstützte Junos-Gerät zu verwalten. Abbildung 1 veranschaulicht die Kommunikation zwischen dem Ansible-Steuerungsknoten und einem verwalteten Junos-Gerät.

Abbildung 1: Ansible-Kommunikation mit einem Junos-Gerät Ansible Communication with a Junos Device

Um die juniper.device Sammlungsmodule verwenden zu können, muss das Playbook oder der Befehl:

  • Sammlung oder FQCN angeben: Um die Sammlung anzugeben, schließen Sie den collections Schlüssel in die Wiedergabe ein. Alternativ können Sie den Schlüssel weglassen und stattdessen über den collections vollqualifizierten Auflistungsnamen (Fully Qualified Collection Name, FQCN) verweisen, was die empfohlene Methode ist.

  • Lokale Ausführung der Module auf dem Steuerungsknoten: Um Ansible-Module lokal auszuführen, definieren Sie den connection Parameter als , z. B. durch localAufnahme connection: local in Ihr Playbook oder --connection local in der Befehlszeile.

    Anmerkung:

    Wenn Sie verwenden connection: local, stellt Ansible für jede Aufgabe im Spiel, für die eine Verbindung erforderlich ist, eine separate Verbindung zum Gerät her. Die juniper.device Sammlungsmodule unterstützen auch die Verwendung von connection: juniper.device.pyez, wodurch die Module weiterhin lokal ausgeführt werden, aber stattdessen eine einzelne, persistente Verbindung zu einem Gerät für alle Aufgaben in einem Spiel hergestellt wird.

  • Geben Sie geeignete Verbindungs- und Authentifizierungsinformationen an, um eine Verbindung mit dem verwalteten Gerät herzustellen. – Weitere Informationen finden Sie unter:

Sie können Ansible-Module mit jedem Benutzerkonto ausführen, das Zugriff auf das verwaltete Junos-Gerät hat. Wenn Sie Ansible-Module ausführen, werden die Zugriffsberechtigungen des Junos OS-Benutzerkontos erzwungen, und die für das Junos OS-Benutzerkonto konfigurierte Klasse bestimmt die Berechtigungen. Wenn ein Benutzer also ein Modul ausführt, das Konfigurationsänderungen auf ein Gerät lädt, muss der Benutzer über Berechtigungen zum Ändern der relevanten Teile der Konfiguration verfügen.

Das folgende Playbook führt das facts Modul der juniper.device Sammlung aus, um die Gerätefakten abzurufen und in einer Datei zu speichern. Im Beispiel werden vorhandene SSH-Schlüssel am Standardspeicherort für die Authentifizierung mit dem Gerät verwendet, und daher werden Anmeldeinformationen nicht explizit im Playbook bereitgestellt.

Sie können auch Ad-hoc-Vorgänge in der Befehlszeile ausführen. Mit dem folgenden Befehl wird das facts Modul der juniper.device Sammlung ausgeführt und Gerätefakten von Hosts in der Bestandslistengruppe dc1 abgerufen.

Juniper Networks juniper.device-Sammlung

Juniper Networks stellt die juniper.device Ansible Content Collection zur Verfügung, die auf der Ansible Galaxy-Website gehostet wird. Die Sammlung umfasst Ansible-Module, mit denen Sie Junos-Geräte verwalten können.

Tabelle 2 beschreibt die Module in der juniper.device Auflistung. In der ersten Version der Sammlung behalten die Sammlungsmodule die gleichen Funktionen und Parameter wie das entsprechende Modul in der Juniper.junos Rolle bei, mit Ausnahme des Parameters, der provider für die Sammlungsmodule nicht unterstützt wird.

Die aktuellste Liste, Dokumentation und Verwendungsbeispiele für die Module finden Sie unter https://ansible-juniper-collection.readthedocs.io/.

Tabelle 2: Juniper.device-Erfassungsmodule

juniper.device-Modulname

Beschreibung

command

Führen Sie CLI-Befehle auf dem Junos-Gerät aus und speichern Sie die Ausgabe lokal.

config

Verwalten Sie die Konfiguration von Junos-Geräten.

facts

Rufen Sie gerätespezifische Informationen vom Remote-Host ab, einschließlich der Junos OS-Version, Seriennummer und Hardware-Modellnummer.

jsnapy

Führen Sie Junos Snapshot Administrator in Python (JSNAPy)-Tests über Ansible aus.

file_copy

Übertragen Sie eine Datei zwischen dem lokalen Ansible-Steuerknoten und dem Junos-Gerät.

ping

Führen Sie den ping Befehl auf Junos-Geräten aus.

pmtud

Ausführen einer Pfad-MTU-Erkennung auf Junos-Geräten.

rpc

Führen Sie Junos OS RPCs aus.

software

Installieren Sie ein Junos OS-Softwarepaket und starten Sie ein Junos-Gerät neu.

system

Ausführen von Systemvorgängen auf Junos-Geräten, einschließlich Zurücksetzen, Neustarten oder Herunterfahren des Geräts.

srx_cluster

Erstellen Sie einen Chassis-Cluster der SRX-Serie für clusterfähige Firewalls der SRX-Serie.

table

Verwenden Sie Junos PyEZ-Betriebstabellen und -ansichten, um Betriebsinformationen von Junos-Geräten abzurufen.