CISCO-Logo

CISCO CSR 1000v mit benutzerdefinierten Daten

CISCO-CSR-1000v-Using-Custom-Data-Produkt

Bereitstellen einer Cisco CSR 1000v-VM mithilfe benutzerdefinierter Daten

Wenn Sie eine Cisco CSR 1000v Virtual Machine-Instanz auf der Google Cloud Platform bereitstellen, können Sie optional den Abschnitt „Startskript“ auf der VM-Erstellungskonsole verwenden, um benutzerdefinierte Daten bereitzustellen. Sie können die CLI auch verwenden, um auf die benutzerdefinierten Daten zuzugreifen und so verschiedene Automatisierungsziele zu erreichen. Mit den benutzerdefinierten Daten in GCP können Sie Cisco IOS

Unterstützte Versionen
Sie können eine Cisco CSR 1000v-VM mit benutzerdefinierten Daten nur auf Cisco IOS XE Gibraltar 16.12.1 oder späteren Versionen bereitstellen.

  • Bearbeiten der benutzerdefinierten Daten,
  • Zugriff auf die benutzerdefinierten Daten,
  • Überprüfen der benutzerdefinierten Datenkonfiguration,

Bearbeiten der benutzerdefinierten Daten

Um die benutzerdefinierten Daten zu bearbeiten, konfigurieren Sie die folgenden Eigenschaften:

  • IOS-Konfiguration
  • Skripte
  • Skript-Anmeldeinformationen
  • Python-Paket
  • Lizenzierung

Sie können die Eigenschaften in a platzieren file In irgendeiner Reihenfolge. Die folgenden Eigenschaftsbeschreibungen geben gegebenenfalls Abhängigkeiten zwischen den Eigenschaften an. Siehe den Exampder Bootstrap fileist bei: https://github.com/csr1000v/customdata-examples.

Nachdem Sie die benutzerdefinierten Dateneigenschaften definiert haben, können Sie auf das Startskript oder die benutzerdefinierten Daten zugreifen file Verwenden Sie die CLI, wie im Abschnitt „Zugriff auf benutzerdefinierte Daten“ beschrieben.

Konfigurieren der IOS-Konfigurationseigenschaft

Wenn Sie die IOS-Konfiguration am Tag 0 booten möchten, konfigurieren Sie die Eigenschaft „IOS-Konfiguration“. Siehe das folgende IOS-Konfigurationsbeispielampauf:

  • Abschnitt: IOS-Konfiguration
  • Hostname CSR1
  • Schnittstelle GigabitEthernet1
  • Beschreibung „statische IP-Adresskonfiguration“
  • IP-Adresse 10.0.0.1 255.255.255.0
  • Schnittstelle GigabitEthernet2
  • Beschreibung „DHCP-basierte IP-Adresskonfiguration“
  • IP-Adresse dhcp

Nach der ersten Zeile, die Abschnitt lautet: In der IOS-Konfiguration können Sie eine Liste der Cisco IOS XE-Konfigurationsbefehle eingeben, die Sie auf dem Cisco CSR 1000v-Router ausführen möchten.
Wenn Sie diesen Befehl ausführen, wird die vorherige IOS-Konfiguration am Tag 1000 auf den CSR 0v-Router angewendet, der auf GCP ausgeführt wird.

Konfigurieren der Scripts-Eigenschaft

Mit der Scripts-Eigenschaft können Sie die Bereitstellung Ihrer CSR1000v-Instanz automatisieren. Wenn Sie ein Python- oder ein Bash-Skript an Day0 im Guestshell-Kontext ausführen möchten, stellen Sie „public“ bereit URL und Argumente des Python- oder Bash-Skripts in der Scripts-Eigenschaft. Ein Skript muss einen Code enthalten, der das Shebang-Zeichen (!) in der ersten Zeile des Skripts enthält. Diese Zeile teilt Cisco IOS-XE mit, welchen Skriptinterpreter (Python oder Bash) Sie zum Parsen des Skriptcodes verwenden müssen. Zum Beispielample kann die erste Zeile eines Python-Skripts #!/usr/bin/env python enthalten, während die erste Zeile eines Bash-Skripts #!/bin/bash enthalten kann. Diese Zeile ermöglicht die Ausführung des Python- oder Bash-Skripts als ausführbaren Code in einer Linux-Umgebung. Wenn Sie das Skript ausführen, wird es im Guestshell-Container der Cisco CSR 1000v-Instanz ausgeführt. Um auf den Guestshell-Container zuzugreifen, verwenden Sie den Befehl „gueshell EXEC mode“. Weitere Informationen zum Befehl „guestshell“ finden Sie im Programmability Configuration Guide. Verwenden Sie zum Konfigurieren der Scripts-Eigenschaft das folgende Format:
Abschnitt: Skripte
öffentlich_url
In diesem Skript sollte die erste Zeile der Eigenschaft Abschnitt: Skripte lauten. Geben Sie in der zweiten Zeile der Eigenschaft Folgendes ein URL des Skripts und der Argumente des Skripts. Das Skript kann entweder ein Python- oder ein Bash-Skript sein. Das Skript wird beim ersten Start in der Guestshell ausgeführt, wenn Sie die benutzerdefinierten Daten hochladen file, wenn Sie die CSR1000v-Instanz erstellen. Zu view mehr exampDateien der Skripte finden Sie unter „Skripte“ unter: https://github.com/csr1000v/customdata-examples. Beachten Sie auch das folgende Beispielamples:
ExampTeil 1
Abschnitt: Skript
https://raw.githubusercontent.com/csr1000v/customdata-examples/master/scripts/smartLicensingConfigurator.py–idtoken”<token_string>”–throughput The two lines in the scripts property retrieve the smartLicensingConfigurator.py script from the custom data-examples repository at the specified URL. The script runs in the guestshell container of the Cisco CSR 1000v with the arguments idtoken and throughput.

ExampTeil 2
Abschnitt: Skripte
ftp://10.11.0.4/dir1/dir2/script.py -a arg1 -s arg2
Diese beiden Zeilen in der Scripts-Eigenschaft rufen das script.pyscript vom FTP-Server mit der IP-Adresse 10.11.0.4 ab und führen das Skript mit dem Bash-Befehl ./script.py -a arg1 -s arg2 im Guestshell-Container von Cisco aus CSR 1000v-Instanz mit den Argumenten arg1 und arg2.

Notiz Wenn ein Skript in der Scripts-Eigenschaft ein Python-Paket erfordert, das nicht in der Standardversion von CentOS Linux enthalten ist (die CentOS Linux-Version, die derzeit von der Guestshell verwendet wird, ist CentOS Linux Version 7.1.1503), müssen Sie Informationen zum Python-Paket angeben in der Python-Paketeigenschaft. Weitere Informationen finden Sie unter: Konfigurieren der Python-Paketeigenschaft. Bevor Sie auf die benutzerdefinierten Daten zugreifen und das Bash- oder Python-Skript ausführen, empfiehlt Cisco, dass Sie das testen
URL die Sie verwenden möchten, mithilfe der Scripts-Eigenschaft. Sie können ftp://10.11.0.4/dir1/dir2/script.py -a arg1 -s arg2 testen, indem Sie zuerst c ausführenurl Software-Tool zum Herunterladen des Skripts file. Geben Sie in der Gästeshell das c einurl Befehl wie im folgenden Beispiel gezeigtample: curl -m 30 –retry 5 –user Benutzername:Passwort ftp://10.11.0.4/dir1/dir2/script_needs_credentials.py. Wenn die curl Wenn der Befehl erfolgreich ist, wird eine Kopie des Python-Skripts heruntergeladen, das überprüft, ob der URL ist richtig.

Konfigurieren der Eigenschaft „Skript-Anmeldeinformationen“.

Wenn Sie in der Eigenschaft „Skript“ einen FTP-Server angegeben haben und der Server Anmeldeinformationen mit Benutzername und Kennwort erfordert, geben Sie die Anmeldeinformationen mithilfe der Eigenschaft „Skript-Anmeldeinformationen“ an.

Notiz Wenn Sie anonym auf den FTP-Server zugreifen können, müssen Sie die Eigenschaft „Skript-Anmeldeinformationen“ nicht verwenden. Konfigurieren Sie die Scripts-Eigenschaft mit a URL und Parameter, die mit denen in der Eigenschaft „Skript-Anmeldeinformationen“ übereinstimmen. Um die Eigenschaft „Skript-Anmeldeinformationen“ zu konfigurieren, verwenden Sie das folgende Format: Abschnitt: Skript-Anmeldeinformationen public_url
Example
Abschnitt: Skript-Anmeldeinformationen
ftp://10.11.0.4/dir1/dir2/script1.py userfoo foospass Die zweite Zeile in der Eigenschaft „Skript-Anmeldeinformationen“ gibt die Werte der Anmeldeinformationen „Benutzername“ (userfoo) und „Kennwort“ (foospass) für das Python-Skript „script1.py“ an. Geben Sie den Namen des FTP-Servers an, der sich auch in der Eigenschaft „Skripte“ befindet. Ein ExampDie Zeile in der Scripts-Eigenschaft lautet: ftp://10.11.0.4/dir1/dir2/script1.py -a arg1 -s arg2. Siehe BspampAbschnitt 2 in „Konfigurieren der Scripts-Eigenschaft“,

Konfigurieren der Python-Paketeigenschaft

Wenn ein Python-Paket für ein Skript in der Eigenschaft „Skripte“ erforderlich ist und es nicht Teil der Standardversion von CentOS Linux 7.1.1503 ist, müssen Sie Informationen über das Paket in die Eigenschaft „Python-Paket“ aufnehmen. Durch Einbindung der Python-Paketeigenschaft in den Bootstrap filestellen Sie sicher, dass der Cisco CSR 1000v das erforderliche Python-Paket vor den benutzerdefinierten Daten herunterlädt und installiert file den Sie in der Scripts-Eigenschaft angegeben haben.
Konfigurieren Sie die Python-Paketeigenschaft
Verwenden Sie zum Konfigurieren der Python-Paketeigenschaft das folgende Format:
Abschnitt: Python-Paket
package_name [ version ] [ sudo ] { [ pip_arg1 [ ..[ pip_arg9] ] ] } Die Argumente: version, sudo und pip_arg1 bis pip_arg9 sind optional. Sie müssen die Argumente für den pip-Befehl zwischen die Klammern „{“ und „}“ setzen. Wenn Sie das Versionsargument angeben, wird eine bestimmte Versionsnummer heruntergeladen. Wenn Sie das Sudo-Argument angeben, wird das Paket als Sudo-Benutzer heruntergeladen. Konfiguration Bspamples
ExampTeil 1
Abschnitt: Python-Paket
ncclient 0.5.2
In diesem Beispielample, die zweite Zeile der Python-Paketeigenschaft gibt an, dass der Paketname „ncclient“ und die Version „0.5.2“ ist. Wenn der Bootstrap file Nach dem Hochladen ist Version 0.5.2 des ncclient-Pakets im Guestshell-Container des Cisco CSR 1000v installiert.
ExampTeil 2
Abschnitt: Python-Paket
csr_gcp_ha 3.0.0 sudo {–user} In diesem Beispielample, die zweite Zeile der Python-Paketeigenschaft gibt an, dass der Paketname „csr_gcp_ha“ und die Version „3.0.0“ ist. Wenn der Bootstrap file Nach dem Hochladen ist Version 3.0.0 des csr_gcp_ha-Pakets im Guestshell-Container des Cisco CSR 1000v installiert. Der folgende Befehl wird als Sudo-Benutzer ausgeführt: pip install csr_gcp_ha=3.0.0 –user.

Konfigurieren der Lizenzeigenschaft

Konfigurieren Sie die Lizenzeigenschaft, um die Lizenztechnologiestufe für die Cisco CSR 1000v-Instanz anzugeben.

  • Geben Sie die erste Zeile der Eigenschaft im Format ein: Abschnitt: Lizenz.
  • Geben Sie die zweite Zeile der Eigenschaft ein, die die Tech-Ebene der Lizenz angibt, und verwenden Sie dabei das folgende Format: TechPackage:tech_level .

Notiz  Stellen Sie sicher, dass zwischen „TechPackage:“ und tech_level keine Leerzeichen stehen. Zu den möglichen tech_level-Werten gehören: ax, security, appx oder ipbase.
Stellen Sie sicher, dass tech_level in Kleinbuchstaben geschrieben ist.

Konfiguration Example
Abschnitt: Lizenz TechPackage:security

Zugriff auf die benutzerdefinierten Daten

  • Um die benutzerdefinierten Daten als auszuführen file Führen Sie mithilfe der CLI das folgende Skript aus: Auf die benutzerdefinierten Daten zugreifen file mithilfe der CLI
  • Um die benutzerdefinierten Daten als auszuführen file Führen Sie mithilfe der CLI das folgende Skript aus: gcloud Compute-Instanzen erstellen –Metadaten-von-file=startup-script=Customdata.txt –image
  • Wenn Sie diesen Befehl ausführen, wird eine Cisco CSR 1000v-VM erstellt. Der Router wird mit den Befehlen im konfiguriert file: „Customdata.txt“.
    Zugriff auf die benutzerdefinierten Daten über die Konsole Um auf die benutzerdefinierten Daten über die Konsole zuzugreifen, melden Sie sich bei der GCP-Konsole an. Klicken Sie auf Compute Engine und wählen Sie Instanz erstellen aus. Klicken Sie im Bildschirm „Neue VM-Instanz“ auf Verwaltung > Startskript.

CISCO-CSR-1000v-Using-Custom-Data-fig-1

Überprüfen der benutzerdefinierten Datenkonfiguration

Nachdem Sie das benutzerdefinierte Datenskript ausgeführt haben, wird die VM erstellt und die Konfigurationsbefehle werden ausgeführt. Um dies zu überprüfen, verwenden Sie die folgenden Befehle und Skripte:

  • show version: Um festzustellen, ob die Lizenzeigenschaft funktioniert hat, geben Sie in der Cisco IOS XE CLI auf dem CSR 1000v den Befehl show version ein. Zum Beispielample zeigt die Ausgabe einen Verweis auf die Sicherheitslizenz an.
  • Sehen Sie sich die Datei „customdata.log“ an, um festzustellen, ob nach der Ausführung von Befehlen in der Eigenschaft „scripts“ Fehler aufgetreten sind file im /bootflash/ /Verzeichnis. Das Skriptname.log file speichert alle Ausgaben, die vom Skript an STDOUT gesendet werden.
  • Um zu überprüfen, ob die Python-Eigenschaft funktioniert, geben Sie pip freeze | ein grep Befehl von der Guestshell an view die aktuell installierten Python-Pakete. Hier bezieht sich Paketname auf das Paket, nach dem Sie gezielt suchen.
  • Um die Cisco IOS XE-Befehle in der IOS-Konfigurationseigenschaft zu überprüfen, führen Sie den Befehl show running-configuration aus.

Dokumente / Ressourcen

CISCO CSR 1000v mit benutzerdefinierten Daten [pdf] Benutzerhandbuch
CSR 1000v mit benutzerdefinierten Daten, CSR 1000v, mit benutzerdefinierten Daten, benutzerdefinierten Daten, Daten

Verweise

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind markiert *