CISCO CSR 1000v utilisant des données personnalisées
Déploiement d'une machine virtuelle Cisco CSR 1000v à l'aide de données personnalisées
Lorsque vous déployez une instance de machine virtuelle Cisco CSR 1000v sur Google Cloud Platform, vous pouvez éventuellement choisir d'utiliser la section Script de démarrage sur la console de création de VM pour fournir des données personnalisées. Vous pouvez également utiliser la CLI pour accéder aux données personnalisées afin d'atteindre divers objectifs d'automatisation. Les données personnalisées dans GCP vous permettent d'exécuter des commandes de configuration Cisco IOS XE, d'installer des packages Python dans guestshell le jour 0, d'exécuter des scripts dans guestshell le jour 0 et de fournir des informations de licence pour démarrer l'instance CSR 1000v avec un package technologique souhaité.
Versions prises en charge
Vous pouvez déployer une machine virtuelle Cisco CSR 1000v à l'aide de données personnalisées uniquement sur Cisco IOS XE Gibraltar 16.12.1 ou versions ultérieures.
- Modification des données personnalisées,
- Accéder aux données personnalisées,
- Vérification de la configuration des données personnalisées,
Modification des données personnalisées
Pour modifier les données personnalisées, configurez les propriétés suivantes :
- Configuration iOS
- Scénarios
- Informations d'identification du script
- Paquet Python
- Licences
Vous pouvez placer les propriétés dans un file dans n'importe quel ordre. Les descriptions de propriétés suivantes spécifient les dépendances entre les propriétés, le cas échéant. Voir l'example bootstrap fileassis: https://github.com/csr1000v/customdata-examples.
Après avoir défini les propriétés des données personnalisées, vous pouvez accéder au script de démarrage ou aux données personnalisées file en utilisant la CLI comme décrit dans la section Accès aux données personnalisées.
Configuration de la propriété de configuration IOS
Si vous souhaitez amorcer la configuration IOS au jour 0, configurez la propriété Configuration IOS. Voir l'exemple de configuration IOS suivantample:
- Rubrique : Configuration IOS
- nom d'hôte CSR1
- interface GigabitEthernet1
- description « configuration d'adresse IP statique »
- Adresse IP 10.0.0.1 255.255.255.0
- interface GigabitEthernet2
- description « Configuration d'adresse IP basée sur DHCP »
- adresse IP dhcp
Après la première ligne indiquant Section : Configuration IOS, vous pouvez saisir une liste de commandes de configuration Cisco IOS XE que vous souhaitez exécuter sur le routeur Cisco CSR 1000v.
Lorsque vous exécutez cette commande, la configuration IOS précédente est appliquée au routeur CSR 1000v exécuté sur GCP, au jour 0.
Configuration de la propriété Scripts
La propriété Scripts vous aide à automatiser le déploiement de votre instance CSR1000v. Si vous souhaitez exécuter un script Python ou Bash le jour 0 dans le contexte guestshell, fournissez le public URL et les arguments du script python ou bash dans la propriété Scripts. Un script doit inclure un morceau de code qui inclut le caractère shebang (!) dans la première ligne du script. Cette ligne indique à Cisco IOS-XE quel interpréteur de script (Python ou Bash) vous devez utiliser pour analyser le code du script. Par exempleample, la première ligne d'un script Python peut contenir #!/usr/bin/env python, tandis que la première ligne d'un script Bash peut contenir #!/bin/bash. Cette ligne permet au script Python ou Bash de s'exécuter en tant que code exécutable dans un environnement Linux. Lorsque vous exécutez le script, celui-ci s'exécute dans le conteneur GuestShell de l'instance Cisco CSR 1000v. Pour accéder au conteneur guestshell, utilisez la commande de mode guestshell EXEC. Pour plus d'informations sur la commande guestshell, consultez le Guide de configuration de la programmabilité. Pour configurer la propriété Scripts, utilisez le format suivant :
Rubrique : scripts
publique_url
Dans ce script, la première ligne de la propriété doit indiquer Section : Scripts. Dans la deuxième ligne de la propriété, saisissez le URL du script et les arguments du script. Le script peut être un script Python ou Bash. Le script est exécuté dans GuestShell lors du premier démarrage lorsque vous téléchargez les données personnalisées file, lorsque vous créez l'instance CSR1000v. À view plus d'exampfichiers des scripts, voir « scripts » à : https://github.com/csr1000v/customdata-examples. Reportez-vous également à l'ex suivantamples:
Example 1
Rubrique : Scénario
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
Rubrique : Scripts
ftp://10.11.0.4/dir1/dir2/script.py -a arg1 -s arg2
Ces deux lignes de la propriété Scripts récupèrent le script.pyscript du serveur FTP avec l'adresse IP 10.11.0.4 et exécutent le script avec la commande ./script.py -a arg1 -s arg2 Bash dans le conteneur guestshell de Cisco. Instance CSR 1000v utilisant les arguments arg1 et arg2.
Note Si un script de la propriété Scripts nécessite un package Python qui n'est pas inclus dans la version standard de CentOS Linux (la version CentOS Linux actuellement utilisée par le shell invité est la version CentOS Linux 7.1.1503), vous devez inclure des informations sur le package Python. dans la propriété du package Python. Pour plus d'informations, consultez : Configuration de la propriété du package Python. Avant d'accéder aux données personnalisées et d'exécuter le script Bash ou Python, Cisco vous recommande de tester le
URL que vous avez l'intention d'utiliser, à l'aide de la propriété Scripts. Vous pouvez tester ftp://10.11.0.4/dir1/dir2/script.py -a arg1 -s arg2 en exécutant d'abord le curl outil logiciel pour télécharger le script file. Dans le guestshell, entrez le curl commande comme indiqué dans l'ex suivantample:curl -m 30 –réessayer 5 –utilisateur nom d'utilisateur : mot de passe ftp://10.11.0.4/dir1/dir2/script_needs_credentials.py. Si le curl La commande réussit, une copie du script Python est téléchargée, qui vérifie si le URL est correct.
Configuration de la propriété des informations d'identification du script
Si vous avez spécifié un serveur FTP dans la propriété Script et que le serveur nécessite un nom d'utilisateur et un mot de passe, spécifiez les informations d'identification à l'aide de la propriété Informations d'identification du script.
Note Si vous pouvez accéder au serveur FTP de manière anonyme, vous n'avez pas besoin d'utiliser la propriété Informations d'identification du script. Configurez la propriété Scripts avec un URL et les paramètres qui correspondent à ceux de la propriété Informations d'identification du script. Pour configurer la propriété Informations d'identification du script, utilisez le format suivant : Section : Informations d'identification du script public_url
Example
Section : Informations d'identification du script
ftp://10.11.0.4/dir1/dir2/script1.py userfoo foospass La deuxième ligne de la propriété Script credentials spécifie les valeurs du nom d'utilisateur (userfoo) et du mot de passe (foospass) pour le script python script1.py. Incluez le nom du serveur FTP qui figure également dans la propriété Scripts. Un exampLa ligne de la propriété Scripts est : ftp://10.11.0.4/dir1/dir2/script1.py -a arg1 -s arg2. Voir example 2 dans Configuration de la propriété Scripts,
Configuration de la propriété du package Python
Si un package Python est requis par un script dans la propriété Scripts et qu'il ne fait pas partie de la version standard CentOS Linux 7.1.1503, vous devez inclure des informations sur le package dans la propriété du package Python. En incluant la propriété du package Python dans le bootstrap file, vous vous assurez que Cisco CSR 1000v télécharge et installe le package Python requis avant les données personnalisées. file que vous avez spécifié dans la propriété Scripts.
Configurer la propriété du package Python
Pour configurer la propriété du package Python, utilisez le format suivant :
Rubrique : Package Python
package_name [ version ] [ sudo ] { [ pip_arg1 [ ..[ pip_arg9] ] ] } Les arguments : version, sudo et pip_arg1 à pip_arg9 sont facultatifs. Vous devez mettre les arguments de la commande pip entre les accolades « { » et « } ». Si vous spécifiez l'argument version, un numéro de version spécifique est téléchargé. Si vous spécifiez l'argument sudo, le package est téléchargé en tant qu'utilisateur sudo. Exemple de configurationamples
Example 1
Rubrique : Package Python
client 0.5.2
Dans cet example, la deuxième ligne de la propriété du package Python spécifie que le nom du package est « ncclient » et la version est « 0.5.2 ». Quand le bootstrap file est téléchargé, la version 0.5.2 du package ncclient est installée dans le conteneur guestshell du Cisco CSR 1000v.
Example 2
Rubrique : Package Python
csr_gcp_ha 3.0.0 sudo {–user} Dans cet example, la deuxième ligne de la propriété du package Python spécifie que le nom du package est « csr_gcp_ha » et la version est « 3.0.0 ». Quand le bootstrap file est téléchargé, la version 3.0.0 du package csr_gcp_ha est installée dans le conteneur guestshell du Cisco CSR 1000v. La commande suivante est exécutée en tant qu'utilisateur sudo : pip install csr_gcp_ha=3.0.0 –user.
Configuration de la propriété Licence
Configurez la propriété de licence pour spécifier le niveau de technologie de licence pour l'instance Cisco CSR 1000v.
- Saisissez la première ligne de la propriété au format : Section : Licence.
- Entrez la deuxième ligne de la propriété, qui spécifie le niveau technologique de la licence, en utilisant le format suivant : TechPackage:tech_level .
Note Assurez-vous qu'il n'y a pas d'espace entre « TechPackage : » et le tech_level. Les valeurs tech_level possibles incluent : ax, security, appx ou ipbase.
Assurez-vous que tech_level est en minuscule.
Configuration Example
Section : Licence TechPackage : sécurité
Accéder aux données personnalisées
- Pour exécuter les données personnalisées en tant que file à l'aide de la CLI, exécutez le script suivant : Accès aux données personnalisées file en utilisant la CLI
- Pour exécuter les données personnalisées en tant que file à l'aide de la CLI, exécutez le script suivant : gcloud Compute instances Create –métadonnées-de-file=startup-script=Customdata.txt –image
- Lorsque vous exécutez cette commande, une machine virtuelle Cisco CSR 1000v est créée. Le routeur est configuré à l'aide des commandes du file: « Customdata.txt ».
Accéder aux données personnalisées depuis la console Pour accéder aux données personnalisées depuis la console, connectez-vous à la console GCP. Cliquez sur Compute Engine et sélectionnez Créer une instance. Sur l'écran Nouvelle instance de VM, cliquez sur Gestion > Script de démarrage.
Vérification de la configuration des données personnalisées
Après avoir exécuté le script de données personnalisé, la machine virtuelle est créée et les commandes de configuration sont exécutées. Pour vérifier la même chose, utilisez les commandes et scripts suivants :
- show version : Pour déterminer si la propriété de licence a fonctionné, dans Cisco IOS XE CLI sur le CSR 1000v, entrez la commande show version. Par exempleample, la sortie affiche une référence à la licence de sécurité.
- Pour voir si des erreurs se sont produites après l'exécution de commandes dans la propriété scripts, consultez le fichier customdata.log. file dans le /bootflash/ /annuaire. Le nom du script.log file stocke toute sortie envoyée à STDOUT par le script.
- Pour vérifier si la propriété Python a fonctionné, entrez le pip freeze | grep commande du Guestshell vers view les packages Python actuellement installés. Ici, package-name fait référence au package que vous recherchez spécifiquement.
- Pour vérifier les commandes Cisco IOS XE dans la propriété Configuration IOS, exécutez la commande show running-configuration.
Documents / Ressources
![]() |
CISCO CSR 1000v utilisant des données personnalisées [pdf] Manuel de l'utilisateur CSR 1000v utilisant des données personnalisées, CSR 1000v, utilisant des données personnalisées, données personnalisées, données |