CISCO CSR 1000v ved hjælp af brugerdefinerede data
Implementering af en Cisco CSR 1000v VM ved hjælp af brugerdefinerede data
Når du implementerer en Cisco CSR 1000v Virtual Machine-instans på Google Cloud Platform, kan du eventuelt vælge at bruge afsnittet Startup Script på VM-oprettelseskonsollen til at levere tilpassede data. Du kan også bruge CLI til at få adgang til de tilpassede data for at opnå forskellige automatiseringsmål. De tilpassede data i GCP giver dig mulighed for at køre Cisco IOS XE-konfigurationskommandoer, installere Python-pakker i guesthell på Day0, køre scripts i guesthell på Day0 og give licensoplysninger til at starte CSR 1000v-instansen med en ønsket teknologipakke.
Udgivelser understøttet
Du kan kun implementere en Cisco CSR 1000v VM ved hjælp af tilpassede data på Cisco IOS XE Gibraltar 16.12.1 eller nyere udgivelser.
- Redigering af brugerdefinerede data,
- Adgang til brugerdefinerede data,
- Bekræftelse af den tilpassede datakonfiguration,
Redigering af brugerdefinerede data
For at redigere de tilpassede data skal du konfigurere følgende egenskaber:
- IOS konfiguration
- Scripts
- Script-legitimationsoplysninger
- Python-pakke
- Licensering
Du kan placere ejendommene i en file i enhver rækkefølge. Følgende egenskabsbeskrivelser angiver afhængigheder mellem egenskaberne, hvis nogen. Se exampden bootstrap files på: https://github.com/csr1000v/customdata-examples.
Efter at have defineret egenskaberne for tilpassede data, kan du få adgang til opstartsscriptet eller de tilpassede data file ved at bruge CLI som beskrevet i afsnittet Adgang til brugerdefinerede data.
Konfiguration af IOS-konfigurationsegenskaben
Hvis du ønsker at bootstrap IOS-konfigurationen på Dag0, konfigurer IOS-konfigurationsegenskaben. Se følgende IOS-konfiguration f.eksampdet:
- Afsnit: IOS-konfiguration
- værtsnavn CSR1
- grænseflade GigabitEthernet1
- beskrivelse "statisk IP-adressekonfiguration"
- IP-adresse 10.0.0.1 255.255.255.0
- grænseflade GigabitEthernet2
- beskrivelse "DHCP-baseret IP-adressekonfiguration"
- ip-adresse dhcp
Efter den første linje, der lyder Sektion: IOS-konfiguration, kan du indtaste en liste over Cisco IOS XE-konfigurationskommandoer, som du vil udføre, på Cisco CSR 1000v-routeren.
Når du kører denne kommando, anvendes den foregående IOS-konfiguration på CSR 1000v-routeren, der kører på GCP, på dag 0.
Konfiguration af scriptegenskaben
Scripts-egenskab hjælper dig med at automatisere implementeringen af din CSR1000v-instans. Hvis du vil køre et Python- eller et Bash-script på Day0 under guesthell-konteksten, skal du give offentligheden URL og argumenter for python- eller bash-scriptet i Scripts-egenskaben. Et script skal indeholde et stykke kode, der indeholder shebang (!)-tegnet i den første linje af scriptet. Denne linje fortæller Cisco IOS-XE, hvilken scriptfortolker (Python eller Bash) du skal bruge til at parse scriptkoden. F.eksample, den første linje i et Python-script kan indeholde #!/usr/bin/env-python, mens den første linje i et Bash-script kan indeholde #!/bin/bash. Denne linje tillader Python- eller Bash-scriptet at køre som eksekverbar kode i et Linux-miljø. Når du udfører scriptet, kører scriptet i gæsteskal-beholderen i Cisco CSR 1000v-forekomsten. For at få adgang til guesthell-beholderen skal du bruge kommandoen guestshell EXEC mode. For mere information om guesthell-kommandoen, se Programmerbarhedskonfigurationsvejledningen. For at konfigurere egenskaben Scripts skal du bruge følgende format:
Afsnit: scripts
offentlig_url
I dette script skal den første linje i egenskaben læse Sektion: Scripts. I den anden linje af ejendommen skal du indtaste URL af manuskriptet og manuskriptets argumenter. Scriptet kan enten være et Python- eller et Bash-script. Scriptet køres i guesthell i den første opstart, når du uploader de tilpassede data file, når du opretter CSR1000v-forekomsten. Til view mere examples af scripts, se "scripts" på: https://github.com/csr1000v/customdata-examples. Se også følgende examples:
Example 1
Afsnit: Script
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.
Example 2
Afsnit: Scripts
ftp://10.11.0.4/dir1/dir2/script.py -a arg1 -s arg2
Disse to linjer i Script-egenskaben henter script.pyscript fra FTP-serveren med IP-adressen 10.11.0.4 og kører scriptet med kommandoen ./script.py -a arg1 -s arg2 Bash i gæsteskal-beholderen i Cisco. CSR 1000v-instans ved hjælp af argumenterne arg1 og arg2.
Note Hvis et script i Scripts-egenskaben kræver en Python-pakke, der ikke er inkluderet i standard CentOS Linux-udgivelsen (den CentOS Linux-udgivelse, der i øjeblikket bruges af guesthell, er CentOS Linux-version 7.1.1503), skal du inkludere oplysninger om Python-pakken i Python-pakkeegenskaben. For mere information, se: Konfiguration af Python-pakkens egenskab, Før du får adgang til de brugerdefinerede data og kører Bash- eller Python-scriptet, anbefaler Cisco, at du tester
URL som du har til hensigt at bruge ved hjælp af egenskaben Scripts. Du kan teste ftp://10.11.0.4/dir1/dir2/script.py -a arg1 -s arg2 ved først at køre c.url softwareværktøj til at downloade scriptet file. I gæsteskallet skal du indtaste curl kommando som vist i følgende example: curl -m 30 –gentag 5 –bruger brugernavn:adgangskode ftp://10.11.0.4/dir1/dir2/script_needs_credentials.py. Hvis curl kommandoen er vellykket, downloades en kopi af Python-scriptet, som verificerer, om URL er korrekt.
Konfiguration af egenskaben for scriptlegitimationsoplysninger
Hvis du har angivet en FTP-server i Script-egenskaben, og serveren kræver et brugernavn og adgangskode-legitimationsoplysninger, skal du angive legitimationsoplysningerne ved hjælp af egenskaben Script-legitimationsoplysninger.
Note Hvis du kan få adgang til FTP-serveren anonymt, behøver du ikke bruge egenskaben Script-legitimationsoplysninger. Konfigurer egenskaben Scripts med en URL og parametre, der matcher dem i egenskaben Script-legitimationsoplysninger. For at konfigurere egenskaben Script-legitimationsoplysninger skal du bruge følgende format: Sektion: Script-legitimationsoplysninger public_url
Example
Sektion: Script-legitimationsoplysninger
ftp://10.11.0.4/dir1/dir2/script1.py userfoo foospass Den anden linje i egenskaben Script credentials specificerer værdierne for brugernavnet (userfoo) og adgangskoden (foospass) for python-scriptet script1.py. Inkluder navnet på den FTP-server, der også er i egenskaben Scripts. En eksamplinjen i Scripts-egenskaben er: ftp://10.11.0.4/dir1/dir2/script1.py -a arg1 -s arg2. Se exampafsnit 2 i Konfiguration af scriptegenskaben,
Konfiguration af Python-pakken Egenskab
Hvis en Python-pakke kræves af et script i Scripts-egenskaben, og den ikke er en del af standard CentOS Linux-udgivelsen 7.1.1503, skal du inkludere oplysninger om pakken i Python-pakkeegenskaben. Ved at inkludere Python-pakkeegenskaben i bootstrap file, sikrer du dig, at Cisco CSR 1000v downloader og installerer den nødvendige Python-pakke før de tilpassede data file som du har angivet i egenskaben Scripts.
Konfigurer Python Package Property
For at konfigurere Python-pakkeegenskaben skal du bruge følgende format:
Sektion: Python-pakke
pakkenavn [ version ] [ sudo ] { [ pip_arg1 [ ..[ pip_arg9] ] ] } Argumenterne: version, sudo og pip_arg1 til pip_arg9 er valgfrie. Du skal placere argumenterne til pip-kommandoen mellem "{" og "}" klammeparenteser. Hvis du angiver versionsargumentet, downloades et specifikt versionsnummer. Hvis du angiver sudo-argumentet, downloades pakken som en sudo-bruger. Konfiguration Eksamples
Example 1
Sektion: Python-pakke
nclient 0.5.2
I dette example, den anden linje i Python-pakkeegenskaben angiver, at pakkenavnet er "ncclient", og versionen er "0.5.2". Når bootstrap file er uploadet, er version 0.5.2 af ncclient-pakken installeret i guesthell-containeren på Cisco CSR 1000v.
Example 2
Sektion: Python-pakke
csr_gcp_ha 3.0.0 sudo {–user} I dette example, den anden linje i Python-pakkeegenskaben angiver, at pakkenavnet er "csr_gcp_ha", og versionen er "3.0.0". Når bootstrap file er uploadet, er version 3.0.0 af csr_gcp_ha-pakken installeret i gæsteskal-containeren på Cisco CSR 1000v. Følgende kommando udføres som sudo-bruger: pip install csr_gcp_ha=3.0.0 –user.
Konfiguration af licensegenskaben
Konfigurer licensegenskaben til at angive licensteknologiniveauet for Cisco CSR 1000v-instansen.
- Indtast den første linje af ejendommen i formatet: Sektion: Licens.
- Indtast den anden linje i egenskaben, som angiver licensens tekniske niveau, ved at bruge følgende format: TechPackage:tech_level .
Note Sørg for, at der ikke er mellemrum mellem "TechPackage:" og tech_level. De mulige tech_level-værdier inkluderer: ax, security, appx eller ipbase.
Sørg for, at tech_level er med små bogstaver.
Konfiguration Eksample
Afsnit: Licens TechPackage:sikkerhed
Adgang til brugerdefinerede data
- For at køre de tilpassede data som en file ved at bruge CLI, udfør følgende script: Adgang til brugerdefinerede data file ved hjælp af CLI
- For at køre de tilpassede data som en file ved at bruge CLI, udfør følgende script: gcloud compute instanser oprette –metadata-fra-file=startup-script=Customdata.txt –billede
- Når du udfører denne kommando, oprettes en Cisco CSR 1000v VM. Routeren konfigureres ved hjælp af kommandoerne i file: "Customdata.txt".
Adgang til de tilpassede data fra konsollen Log ind på GCP-konsollen for at få adgang til de tilpassede data fra konsollen. Klik på Compute Engine, og vælg Opret en instans. På skærmen Ny VM-instans skal du klikke på Management > Startup Script.
Bekræftelse af den brugerdefinerede datakonfiguration
Når du har kørt det brugerdefinerede datascript, oprettes VM'en, og konfigurationskommandoerne udføres. For at bekræfte det samme skal du bruge følgende kommandoer og scripts:
- vis version: Indtast kommandoen show version i Cisco IOS XE CLI på CSR 1000v for at afgøre, om licensegenskaben fungerede. F.eksample, viser outputtet en reference til sikkerhedslicensen.
- For at se, om der opstod fejl efter at have kørt kommandoer i script-egenskaben, skal du se på customdata.log file i /bootflash/ /vejviser. Scriptname.log file gemmer ethvert output, der sendes til STDOUT af scriptet.
- For at kontrollere, om Python-egenskaben fungerede, skal du indtaste pip freeze | grep kommando fra Guestshell til view de aktuelt installerede Python-pakker. Pakkenavn refererer her til den pakke, du specifikt søger efter.
- For at bekræfte Cisco IOS XE-kommandoerne i egenskaben IOS Configuration skal du køre kommandoen show running-configuration.
Dokumenter/ressourcer
![]() |
CISCO CSR 1000v ved hjælp af brugerdefinerede data [pdfBrugermanual CSR 1000v Brug af brugerdefinerede data, CSR 1000v, Brug af brugerdefinerede data, brugerdefinerede data, data |