Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit comment déployer, activer et démarrer une application IOx sur IE3400.
Cisco vous recommande de prendre connaissance des rubriques suivantes :
Depuis la version 17.2.1 de l'IOS, les commutateurs de la gamme robuste IE3400 prennent en charge l'hébergement d'applications IOx. Cela vous permet d'exécuter vos propres codes/applications/conteneurs personnalisés sur le périphérique de périphérie. Comme pour la plupart des plates-formes IoT qui prennent en charge l'hébergement d'applications, il convient de garder à l'esprit certaines caractéristiques qui sont expliquées plus en détail dans ce document.
L'IE3400 dispose d'une interface virtuelle supplémentaire pour la connectivité aux applications IOx, appelée AppGigabitEthernet1/1
L'architecture simplifiée de cette interface est illustrée dans cette image.
Comme vous pouvez le voir, l'interface appelée AppGigabitEthernet1/1 fournit la connectivité aux applications. Il existe différentes options disponibles car AppGigabitEthernet1/1 peut être configuré comme interface physique régulière en mode d'accès ou de liaison. Un autre nom courant pour ce port est le port KR.
Actuellement, une interface d'application IOx doit avoir un ID de VLAN configuré même si l'interface AppGigiabitEthernet1/1 est configurée en mode d'accès, car le trafic reçu par virteth2/L2br est toujours balisé.
Dans ce document, AppGigabitEthernet1/1 en mode d'accès dans VLAN 1 est configuré :
ie3400#conf t Enter configuration commands, one per line. End with CNTL/Z. ie3400(config)#interface AppGigabitEthernet1/1 ie3400(config-if)#switchport mode access ie3400(config-if)#switchport access vlan 1 ie3400(config-if)#end
Afin d'atteindre le commutateur et les applications IOx, l'adresse IP SVI pour VLAN 1 doit être configurée :
ie3400#conf t Enter configuration commands, one per line. End with CNTL/Z. ie3400(config)#interface Vlan1 ie3400(config-if)#ip address 192.168.0.30 255.255.255.0 ie3400(config-if)#end
Une fois le réseau configuré, activez IOx sur le périphérique.
Sur IE3400, une carte SD est nécessaire pour stocker les applications et les données IOx. Avant d'activer IOx, assurez-vous que la carte SD est formatée avec le système de fichiers ext4 :
ie3400#format sdflash: ext4 Format operation may take a while. Continue? [confirm] Format operation will destroy all data in "sdflash:". Continue? [confirm] format completed with no errors Format of sdflash: complete
Ensuite, activez IOx avec cette commande :
ie3400#conf t Enter configuration commands, one per line. End with CNTL/Z. ie3400(config)#iox Warning: Do not remove SD flash card when IOx is enabled or errors on SD device could occur. *Feb 21 12:49:18.310: %UICFGEXP-6-SERVER_NOTIFIED_START: R0/0: psd: Server iox has been notified to start *Feb 21 12:49:48.165: %IM-6-IOX_ENABLEMENT: R0/0: ioxman: IOX is ready.
Afin d'accéder à distance à la fonctionnalité IOx, en utilisant, par exemple, Local Manager ou ioxclient, assurez-vous que le serveur Web est activé et qu'un utilisateur est configuré pour l'accès :
ie3400#conf t Enter configuration commands, one per line. End with CNTL/Z. ie3400(config)#ip http secure-server ie3400(config)#username admin privilege 15 password 0 secret
Il existe plusieurs méthodes pour déployer des applications IOx sur le IE3400. Ce document décrit les éléments suivants :
L'une des méthodes est suffisante pour effectuer toutes les tâches, ils sont simplement documentés ici pour l'exhaustivité et pour atteindre un large public.
Local Manager est une interface graphique à utiliser pour gérer et déployer des applications IOx sur des plates-formes compatibles IOx. Local Manager s'exécute sur le périphérique IOx lui-même, dans ce cas, le IE3400.
Si vous avez suivi la procédure d'activation du serveur Web et d'ajout d'un utilisateur, vous devriez pouvoir accéder à l'interface Web d'IE3400 à l'aide de l'adresse IP SVI à l'aide de https://<svi ip>/ (dans cet article : https://192.168.0.30/):
Vous pouvez vous connecter à l'aide de l'utilisateur créé comme expliqué ci-dessus, puis naviguez jusqu'à Configuration > Services > IOx, comme illustré dans l'image.
Si vous préférez accéder directement à Local Manager, vous pouvez utiliser l'URL suivante : https://<svi ip>/iox/login (dans cet article https://192.168.0.30/iox/login).
Dans l'écran de connexion de Local Manager, utilisez à nouveau la définition de l'utilisateur priv 15 ci-dessus.
Une fois connecté, démarrez le déploiement de l'application.
Cliquez sur Add New, choisissez un nom pour l'application et accédez au package de l'application sur votre ordinateur, comme l'illustre l'image.
Après avoir cliqué sur OK, l'application est téléchargée et installée sur le IE3400. Si tout va bien, vous devriez voir cette image sur votre écran, avec votre application IOx dans un état déployé.
Une fois l'application déployée, l'étape suivante consiste à l'activer. Dans cette phase, les ressources utilisées par l'application sont spécifiées.
Cliquez sur le bouton Activate de l'application IOx déployée, comme illustré dans l'image.
Dans l'écran suivant, vous pouvez sélectionner la quantité de ressources de calcul à affecter à l'application.
Afin de configurer la mise en réseau, cliquez sur modifier pour la configuration réseau, comme indiqué dans l'image.
Dans la configuration du réseau, choisissez de modifier le nom de réseau par défaut (mgmt-bridge300), puis cliquez sur Paramètres d'interface, comme indiqué dans l'image.
Dans la fenêtre contextuelle, choisissez d'utiliser une adresse IP dynamique, qui permet à l'application IOx de récupérer une adresse IP du serveur DHCP dans le VLAN que vous avez configuré sur l'interface AppGi1/1 ou de définir une adresse IP statique.
Il est important, comme indiqué à l'étape de mise en réseau, que vous spécifiiez le VLAN à faire correspondre à l'accès/la liaison d'AppGi1/1 dans cette étape.
Actuellement, une interface d'application IOx doit avoir un ID de VLAN configuré même si l'interface AppGigiabitEthernet1/1 est configurée en mode d'accès, car le trafic reçu par virteth2/L2br est toujours balisé.
Enregistrez maintenant les paramètres réseau et activez l'application.
Si tout va bien, l'application doit se retrouver dans l'état Activé.
Maintenant que l'application est activée, tout ce qui reste pour faire avancer les choses, est de démarrer l'application.
Cliquez sur le bouton Démarrer de l'application dans Local Manager, comme illustré dans l'image.
Après cette action, l'application doit être en état d'exécution et vous devez être en mesure d'atteindre l'application à l'aide du réseau configuré.
Si vous choisissez d'utiliser DHCP, accédez à Manage > App-Info > interface-name > eth0, afin de trouver l'adresse IP de l'application.
Pour ce document, cette application est un serveur Web simple, exécuté sur le port 9000. Pour le tester, accédez à l'adresse IP configurée (ou obtenue via DHCP) :
IOxclient est l'homologue CLI de Local Manager et est utilisé pour gérer et déployer des applications IOx sur des plates-formes IOx à l'aide de CLI. IOxclient parle avec le même service Web exécuté sur le périphérique IOx lui-même, dans ce cas l'IE3400.
Vous pouvez télécharger ioxclient à l'aide du lien suivant : https://developer.cisco.com/docs/iox/#!iox-resource-downloads
Une fois extrait, nous pouvons exécuter ioxclient et créer un profil qui indiquera à ioxclient comment atteindre l'IE3400 :
[jensd@cen8 ~]$ ioxclient profiles create Config file not found : /home/jensd/.ioxclientcfg.yaml Creating one time configuration.. Your / your organization's name : Cisco Your / your organization's URL : Your IOx platform's IP address[127.0.0.1] : 192.168.0.30 Your IOx platform's port number[8443] : 443 Authorized user name[root] : admin Password for admin : Local repository path on IOx platform[/software/downloads]: URL Scheme (http/https) [https]: API Prefix[/iox/api/v2/hosting/]: Your IOx platform's SSH Port[2222]: Your RSA key, for signing packages, in PEM format[]: Your x.509 certificate in PEM format[]: Activating Profile default Saving current configuration
Les informations à entrer dépendent de la configuration réseau et de l'utilisateur priv15 spécifiés comme expliqué au début de cet article.
N'oubliez pas que le numéro de port IOx pour IE3400 est 443 par défaut et non le port 8443 suggéré.
La première étape consiste à déployer IE3400 comme application installée sur le périphérique de périphérie.
Ceci peut être fait comme indiqué ici via ioxclient :
[jensd@cen8 ~]$ ioxclient app install testweb package.tar Currently active profile : default Command Name: application-install Using the package descriptor file in the project dir Validating descriptor file package.yaml with package schema definitions ... Sending request to install the app Installation Successful. App is available at : http://192.168.0.30/iox/api/v2/hosting/apps/testweb Successfully deployed
Vous pouvez vérifier l'état de l'application à l'aide de la commande de liste d'applications :
[jensd@cen8 ~]$ ioxclient app list Currently active profile : default Command Name: application-list List of installed App : 1. testweb ---> DEPLOYED
Maintenant que l'application est déployée, vous pouvez l'activer. Au cours de cette phase, vous spécifiez les ressources à utiliser par l'application.
Pour choisir les ressources de calcul que l'application peut utiliser ou configurer la mise en réseau, vous devez fournir des informations au format JSON.
Pour cet article, ce JSON est utilisé pour l'activation :
[jensd@cen8 ~]$ cat activation.json { "resources": { "network": [{ "interface-name": "eth0", "network-info": {"vlan-id": "1"}, "network-type": "vlan", "ipv4": { "dns": "", "gateway": "192.168.0.1", "ip": "192.168.0.223", "mode": "static", "prefix": "24" } }] } }
Les éléments ci-dessus définissent l'ID de VLAN et l'adresse IP corrects à utiliser pour l'application. Si vous souhaitez utiliser DHCP, vous pouvez supprimer le bloc ipv4.
Il est important, comme indiqué dans l'étape de mise en réseau, que vous spécifiiez le VLAN à faire correspondre à l'accès/la liaison d'AppGi1/1 dans cette étape.
Actuellement, une interface d'application IOx doit avoir un ID de VLAN configuré même si l'interface AppGigiabitEthernet1/1 est configurée en mode d'accès, car le trafic reçu par virteth2/L2br est toujours balisé.
Afin d'activer l'application IOx via la charge utile JSON, utilisez cette commande :
[jensd@cen8 ~]$ ioxclient app activate testweb --payload activation.json Currently active profile : default Command Name: application-activate Payload file : activation.json. Will pass it as application/json in request body.. App testweb is Activated
De nouveau, vous pouvez utiliser la commande app list pour vérifier l'état après l'activation :
[jensd@cen8 ~]$ ioxclient app list Currently active profile : default Command Name: application-list List of installed App : 1. testweb ---> ACTIVATED
Maintenant que l'application est activée, tout ce qui reste pour faire avancer les choses, est de démarrer l'application.
La commande ioxclient pour démarrer notre application est la suivante :
[jensd@cen8 ~]$ ioxclient app start testweb Currently active profile : default Command Name: application-start App testweb is Started
Afin de savoir quelle adresse IP a été acquise auprès de DHCP, si vous avez ignoré la partie ipv4 lors de l'activation, vous pouvez utiliser cette commande :
[jensd@cen8 ~]$ ioxclient app info testweb | grep ipv4 "ipv4": { "ipv4": "192.168.0.223", ...
Pour vérifier si la commande start a réussi, nous pouvons à nouveau utiliser la commande ioxclient app list ou simplement vérifier si l'application fait ce qu'elle est censée faire.
Pour cet article, cette application est un serveur Web simple, exécuté sur le port 9000 afin que nous puissions le tester en interrogeant l'adresse IP configurée (ou obtenue via DHCP) :
[jensd@cen8 ~]$ curl http://192.168.0.223:9000 <html><body><h1>IOX python webserver on arm64v8</h1></body></html>
Périphérique IOS-XE compatible IOx, qui expose la possibilité de déployer l'application et qui est géré directement à partir de l'interface de ligne de commande IOS-XE. Cela ne nécessite pas l'activation du serveur Web sur IOS-XE.
Puisque l'application est déployée à partir de l'interface de ligne de commande IOS-XE, copiez d'abord votre package d'application IOx vers un système de fichiers facilement accessible à partir de cette interface de ligne de commande.
Le plus simple est de copier d'abord le package d'application IOx (package.tar) sur flash :
ie3400#copy scp: flash: Address or name of remote host []? 192.168.0.21 Source username [admin]? jensd Source filename []? /home/jensd/package.tar Destination filename [package.tar]? Password: Sending file modes: C0644 16547840 package.tar !!!!!!...!!!!!! 16547840 bytes copied in 25.244 secs (655516 bytes/sec)
Une fois le package disponible, déployez-le pour IOx :
ie3400#app-hosting install appid testweb package flash:package.tar Installing package 'flash:package.tar' for 'testweb'. Use 'show app-hosting list' for progress.
Une fois cette opération terminée, vous pouvez vérifier l'état de l'installation.
ie3400#sh app-hosting list App id State --------------------------------------------------------- testweb DEPLOYED
Après le déploiement, comme avec les autres méthodes, l'étape suivante consiste à activer l'application. Dans cette phase, spécifiez les ressources utilisées par l'application.
Vous devez au minimum configurer le réseau. Ceci peut être fait comme indiqué ici :
ie3400#conf t Enter configuration commands, one per line. End with CNTL/Z. ie3400(config)#app-hosting appid testweb ie3400(config-app-hosting)#app-vnic AppGigabitEthernet trunk ie3400(config-config-app-hosting-trunk)#vlan 1 guest-interface 0 ie3400(config-config-app-hosting-vlan-access-ip)#guest-ipaddress 192.168.0.224 netmask 255.255.255.0 ie3400(config-config-app-hosting-vlan-access-ip)#end
Cette commande indique à l'application de recevoir une adresse IP statique, à l'aide de l'ID de VLAN 1.
Il est important, comme indiqué dans l'étape de mise en réseau, que vous spécifiiez le VLAN à faire correspondre à l'accès/la liaison d'AppGi1/1 dans cette étape.
Actuellement, une interface d'application IOx doit avoir un ID de VLAN configuré même si l'interface AppGigiabitEthernet1/1 est configurée en mode d'accès, car le trafic reçu par virteth2/L2br est toujours étiqueté :
Après avoir configuré la configuration, poursuivez l'activation :
ie3400#app-hosting activate appid testweb testweb activated successfully Current state is: ACTIVATED
Après l'activation, la dernière étape consiste à démarrer l'application.
Pour cela, utilisez la commande suivante :
ie3400#app-hosting start appid testweb testweb started successfully Current state is: RUNNING
Si vous n'avez pas défini d'adresse IP dans la phase d'activation et si vous avez décidé d'utiliser DHCP, vous pouvez obtenir l'adresse IP reçue par votre application :
ie3400#sh app-hosting detail | i IPv4 IPv4 address : 192.168.0.224
Afin de vérifier si la commande start a réussi, nous pouvons simplement vérifier si l'application fait ce qu'elle est censée faire.
Pour ce document, cette application est un serveur Web simple, qui s'exécute sur le port 9000 afin que nous puissions le tester en interrogeant l'adresse IP configurée (ou obtenue via DHCP).