El conjunto de documentos para este producto aspira al uso de un lenguaje no discriminatorio. A los fines de esta documentación, "no discriminatorio" se refiere al lenguaje que no implica discriminación por motivos de edad, discapacidad, género, identidad de raza, identidad étnica, orientación sexual, nivel socioeconómico e interseccionalidad. Puede haber excepciones en la documentación debido al lenguaje que se encuentra ya en las interfaces de usuario del software del producto, el lenguaje utilizado en función de la documentación de la RFP o el lenguaje utilizado por un producto de terceros al que se hace referencia. Obtenga más información sobre cómo Cisco utiliza el lenguaje inclusivo.
Cisco ha traducido este documento combinando la traducción automática y los recursos humanos a fin de ofrecer a nuestros usuarios en todo el mundo contenido en su propio idioma. Tenga en cuenta que incluso la mejor traducción automática podría no ser tan precisa como la proporcionada por un traductor profesional. Cisco Systems, Inc. no asume ninguna responsabilidad por la precisión de estas traducciones y recomienda remitirse siempre al documento original escrito en inglés (insertar vínculo URL).
Este documento describe cómo implementar, activar e iniciar una aplicación IOx en IE3400.
Cisco recomienda que tenga conocimiento sobre estos temas:
Desde la versión 17.2.1 del IOS, los switches de la serie reforzada IE3400 admiten el alojamiento de aplicaciones IOx. Esto le permite ejecutar su propio código/aplicaciones/contenedores personalizados en el dispositivo de borde. Como ocurre con la mayoría de las plataformas de IoT que admiten el alojamiento de aplicaciones, hay que tener en cuenta algunos aspectos específicos, que se explican con más detalle en este documento.
El IE3400 tiene una interfaz adicional (virtual) para la conectividad a las aplicaciones IOx, llamada AppGigabitEthernet1/1
En esta imagen se muestra una arquitectura simplificada para esta interfaz.
Como puede ver, la interfaz denominada AppGigabitEthernet1/1 proporciona conectividad a las aplicaciones. Hay varias opciones disponibles, ya que AppGigabitEthernet1/1 se puede configurar como una interfaz normal, física, tanto en modo de acceso como troncal. Otro nombre común para este puerto es el puerto KR.
Actualmente, una interfaz de aplicación IOx necesita tener el ID de VLAN configurado incluso si la interfaz AppGigabitEthernet1/1 está configurada en modo de acceso, esto se debe a que el tráfico recibido por virteth2/L2br siempre está etiquetado.
En este documento, se configura AppGigabitEthernet1/1 en el modo de acceso en VLAN 1:
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
Para alcanzar el switch y las aplicaciones IOx, se debe configurar la dirección IP SVI para VLAN 1:
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
Una vez configurada la red, habilite IOx en el dispositivo.
En IE3400, se necesita una tarjeta SD para almacenar las aplicaciones y los datos de Ex. Antes de habilitar IOx, asegúrese de que la tarjeta SD tenga el formato del sistema de archivos 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
Luego, habilite IOx con este comando:
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.
Para obtener acceso a la funcionalidad de IOx de forma remota, utilizando, por ejemplo, Local Manager o ioxclient, asegúrese de que el servidor web esté habilitado y de que un usuario esté configurado para el acceso:
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
Existen varios métodos para implementar aplicaciones IOx en IE3400. Este documento describe lo siguiente:
Uno de los métodos es suficiente para realizar todas las tareas, solo están documentados aquí para que sean completos y lleguen a una amplia audiencia.
Local Manager es una interfaz gráfica que se utiliza para administrar e implementar aplicaciones IOx en plataformas habilitadas para IOx. Local Manager se está ejecutando en el propio dispositivo habilitado para IOx, en este caso, el IE3400.
Si ha seguido el procedimiento para habilitar el servidor web y agregar un usuario, debería poder acceder a la interfaz web del IE3400 utilizando la dirección IP de SVI mediante https://<svi ip>/ (en este artículo: https://192.168.0.30/):
Puede iniciar sesión con el usuario creado como se explicó anteriormente y, a continuación, navegar hasta Configuration > Services > IOx, como se muestra en la imagen.
En caso de que prefiera navegar directamente a Local Manager, puede utilizar la siguiente dirección URL: https://<svi ip>/iox/login (en este artículo https://192.168.0.30/iox/login).
En la pantalla Local Manager login (Inicio de sesión del administrador local), vuelva a utilizar el nombre de usuario priv 15 definido anteriormente.
Cuando inicie sesión, inicie la implementación de la aplicación.
Haga clic en Add New, elija un nombre para la aplicación y busque el paquete de aplicaciones en su PC, como se muestra en la imagen.
Después de hacer clic en Aceptar, la aplicación se carga e instala en el IE3400. Si todo va bien, debería ver esta imagen en la pantalla, con la aplicación IOx en estado implementado.
Una vez implementada la aplicación, el siguiente paso es activarla. En esta fase, se especifican los recursos utilizados por la aplicación.
Haga clic en el botón Activate de la aplicación IOx implementada, como se muestra en la imagen.
En la siguiente pantalla, puede seleccionar la cantidad de recursos informáticos que desea asignar a la aplicación.
Para configurar la red, haga clic en editar para la configuración de red, como se muestra en la imagen.
En la configuración de red, elija editar el nombre de red predeterminado (mgmt-bridge300) y luego haga clic en Configuración de interfaz, como se muestra en la imagen.
En la ventana emergente, elija utilizar una IP dinámica, que permite a la aplicación IOx obtener una IP del servidor DHCP en la VLAN configurada en la interfaz AppGi1/1 o establecer una IP estática.
Como se mencionó en el paso de la red, es importante que especifique la VLAN para que coincida con el acceso/tronco de AppGi1/1 en este paso.
Actualmente, una interfaz de aplicación IOx necesita tener el ID de VLAN configurado incluso si la interfaz AppGigabitEthernet1/1 está configurada en modo de acceso, esto se debe a que el tráfico recibido por virteth2/L2br siempre está etiquetado.
Ahora guarde los parámetros de red y active la aplicación.
Si todo va bien, la aplicación debe terminar en el estado Activado.
Ahora que la aplicación está activada, todo lo que se necesita para poner las cosas en marcha, es iniciar la aplicación.
Haga clic en el botón Inicio de la aplicación en Local Manager, como se muestra en la imagen.
Después de esta acción, la aplicación debe estar en estado En ejecución y debe poder alcanzar la aplicación mediante la red configurada.
En caso de que elija utilizar DHCP, navegue hasta Administrar > App-Info > nombre de interfaz > eth0, para encontrar la dirección IP para la aplicación.
Para este documento, esta aplicación es un simple servidor web que se ejecuta en el puerto 9000. Para probarlo, navegue hasta la dirección IP configurada (u obtenida a través de DHCP):
IOxclient es la contraparte basada en CLI de Local Manager y se utiliza para administrar e implementar aplicaciones IOx en plataformas habilitadas para IOx mediante CLI. IOxclient habla con el mismo servicio web que se ejecuta en el dispositivo habilitado para IOx, en este caso el IE3400.
Puede descargar ioxclient mediante el siguiente enlace: https://developer.cisco.com/docs/iox/#!iox-resource-downloads
Una vez extraído, podemos ejecutar ioxclient y crear un perfil que le dirá a ioxclient cómo alcanzar el 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
La información que debe introducirse depende de la configuración de red y del usuario priv15 especificados como se explica al principio de este artículo.
Tenga en cuenta que el número de puerto IOx para IE3400 es 443 de forma predeterminada y no el puerto sugerido 8443.
El primer paso es implementar IE3400 como la aplicación instalada en el dispositivo de borde.
Esto se puede hacer como se muestra aquí a través de 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
Puede verificar el estado de la aplicación con el comando app list:
[jensd@cen8 ~]$ ioxclient app list Currently active profile : default Command Name: application-list List of installed App : 1. testweb ---> DEPLOYED
Ahora que la aplicación está implementada, puede proceder a activarla. En esta fase, se especifican los recursos que utilizará la aplicación.
Para elegir qué recursos informáticos se permiten a la aplicación utilizar o configurar redes, debe proporcionar información en formato JSON.
Para este artículo, este JSON se utiliza para la activación:
[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" } }] } }
Lo anterior establece el ID de VLAN y la dirección IP correctos que se utilizarán para la aplicación. En caso de que desee utilizar DHCP, puede quitar el bloque ipv4.
Como se mencionó en el paso de la red, es importante que especifique la VLAN para que coincida con el acceso/tronco de AppGi1/1 en este paso.
Actualmente, una interfaz de aplicación IOx necesita tener el ID de VLAN configurado incluso si la interfaz AppGigabitEthernet1/1 está configurada en modo de acceso, esto se debe a que el tráfico recibido por virteth2/L2br siempre está etiquetado.
Para activar la aplicación IOx a través de la carga útil JSON, utilice este comando:
[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
Una vez más, puede utilizar el comando app list para comprobar el estado después de la activación:
[jensd@cen8 ~]$ ioxclient app list Currently active profile : default Command Name: application-list List of installed App : 1. testweb ---> ACTIVATED
Ahora que la aplicación está activada, todo lo que se necesita para poner las cosas en marcha, es iniciar la aplicación.
El comando ioxclient para iniciar nuestra aplicación es el siguiente:
[jensd@cen8 ~]$ ioxclient app start testweb Currently active profile : default Command Name: application-start App testweb is Started
Para saber qué dirección IP se adquirió de DHCP, en caso de que haya omitido la parte ipv4 durante la activación, puede utilizar este comando:
[jensd@cen8 ~]$ ioxclient app info testweb | grep ipv4 "ipv4": { "ipv4": "192.168.0.223", ...
Para verificar si el comando start fue exitoso, podríamos utilizar nuevamente el comando ioxclient app list o simplemente verificar si la aplicación hace lo que se supone que debe hacer.
Para este artículo, esta aplicación es un servidor web simple, que se ejecuta en el puerto 9000 para que podamos probarlo consultando la dirección IP configurada (u obtenida a través de DHCP):
[jensd@cen8 ~]$ curl http://192.168.0.223:9000 <html><body><h1>IOX python webserver on arm64v8</h1></body></html>
El dispositivo IOS-XE que está habilitado para IOx, expone la capacidad de implementar la aplicación y se administra directamente desde la CLI de IOS-XE. Esto no requiere que se active el servidor web en IOS-XE.
Dado que la aplicación se implementa desde la CLI de IOS-XE, primero copie su paquete de aplicaciones IOx en un sistema de archivos al que se pueda acceder fácilmente desde esa CLI.
Lo más fácil es copiar primero el paquete de aplicaciones IOx (package.tar) en 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)
Una vez que el paquete esté allí, impleméntelo para 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.
Cuando se complete esta operación, podrá comprobar el estado de la instalación.
ie3400#sh app-hosting list App id State --------------------------------------------------------- testweb DEPLOYED
Después de la implementación, al igual que con los demás métodos, el siguiente paso es activar la aplicación. En esta fase, especifique qué recursos utiliza la aplicación.
Como mínimo, debe configurar la red. Esto se puede hacer como se muestra aquí:
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
Esto indica a la aplicación que reciba una IP estática, usando el ID de VLAN 1.
Como se mencionó en el paso de la red, es importante que especifique la VLAN para que coincida con el acceso/tronco de AppGi1/1 en este paso.
Actualmente, una interfaz de aplicación IOx necesita tener el ID de VLAN configurado incluso si la interfaz AppGigabitEthernet1/1 está configurada en modo de acceso, esto se debe a que el tráfico recibido por virteth2/L2br siempre está etiquetado:
Después de configurar la configuración, continúe con la activación:
ie3400#app-hosting activate appid testweb testweb activated successfully Current state is: ACTIVATED
Después de la activación, el último paso es iniciar la aplicación.
Esto se puede hacer con este comando:
ie3400#app-hosting start appid testweb testweb started successfully Current state is: RUNNING
Si no configuró una dirección IP en la fase de activación y decidió utilizar DHCP, puede obtener la dirección IP que recibió su aplicación:
ie3400#sh app-hosting detail | i IPv4 IPv4 address : 192.168.0.224
Para verificar si el comando start fue exitoso, simplemente podemos verificar si la aplicación hace lo que se supone que debe hacer.
Para este documento, esta aplicación es un simple servidor web, que se ejecuta en el puerto 9000 para que podamos probarlo consultando la dirección IP configurada (u obtenida a través de DHCP).