Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Antecedentes

Restricciones de Application Hosting Framework

Arquitectura de alojamiento de aplicaciones

Modelos de Catalyst compatibles con alojamiento de aplicaciones

Recursos de hardware para aplicaciones

Redes de contenedores

Opciones de Docker Runtime

Lista de opciones de Docker Runtime no admitidas

Configuración

Troubleshoot

Información Relacionada

Introducción

Este documento describe cómo implementar y resolver problemas de Alojamiento de aplicaciones en las plataformas Catalyst 9000 Series.

Prerequisites

Requirements

Cisco recomienda que tenga conocimiento sobre estos temas:

- Fundamentos del switching de LAN.

- Familiaridad con Cisco IOS® XE y licencias.

- Comprensión de las arquitecturas de switching.

- Familiaridad con los comandos básicos de Linux.

Componentes Utilizados

La información que contiene este documento se basa en las siguientes versiones de software y hardware.

- Catalyst 9300

- Catalyst 9400

- Catalyst 9500

- Cisco IOS® XE y 16.12.X o 17.X software

- Vea los Modelos de Catalyst Soportados para el Alojamiento de Aplicaciones para obtener más información

Nota: Consulte la guía de configuración correspondiente para conocer los comandos que se utilizan para activar estas funciones en otras plataformas de Cisco.

La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.

Antecedentes

Las aplicaciones son esenciales en las redes empresariales para hacer frente a una variedad de casos prácticos vitales para la empresa, incluidas las herramientas administrativas como los analizadores de protocolos y las soluciones de seguridad, como los servicios de detección de intrusiones. Tradicionalmente, estas aplicaciones funcionaban en servidores virtuales externos físicos o basados en la nube, pero las exigencias modernas han puesto de manifiesto las limitaciones de estos enfoques.

Los switches Catalyst de Cisco serie 9000 han revolucionado las redes empresariales al integrar funciones avanzadas diseñadas para la era digital moderna. Con la tecnología del sistema operativo Cisco IOS® XE y una CPU x86, estos switches son mucho más que dispositivos de red tradicionales: sirven como plataformas para el alojamiento de aplicaciones, lo que permite a las empresas consolidar la infraestructura y descubrir nuevas posibilidades para la informática perimetral. Esto permite que aplicaciones como agentes de seguridad, sensores de IoT y herramientas de supervisión del tráfico se ejecuten directamente en el switch, lo que elimina la necesidad de hardware informático externo.

Restricciones de Application Hosting Framework

Para habilitar Application Hosting Framework en Catalyst 9000, estos son los requisitos:

- El switch debe ejecutar la versión 16.12. La aplicación Docker sólo se admite en la versión 16.12, ya que esta versión admite el motor Docker nativo.

- Antes de habilitar el alojamiento de aplicaciones en Catalyst 9000, se debe instalar una unidad flash USB3.0 certificada de Cisco en el puerto USB3.0 del panel posterior del dispositivo. El alojamiento de aplicaciones solo funciona en el panel posterior USB3.0.

- Se necesita Cisco Smart Licensing para las plataformas Catalyst 9000. Se requiere la licencia de Cisco DNA-Advantage para habilitar el alojamiento de aplicaciones.

- Solo se admiten contenedores Docker.Las aplicaciones Docker se pueden instalar en el almacenamiento SSD compatible con Cisco.

- La memoria flash interna no es compatible con aplicaciones de terceros, solo las aplicaciones firmadas por Cisco, como ThousandEyes Agents.

- Los contenedores de terceros deben residir en una de las opciones de almacenamiento de disco de estado sólido externo, proporcionada por los switches Catalyst 9000. Los switches Catalyst serie 9300 admiten almacenamiento SSD. El almacenamiento SATA es compatible con los modelos de alto rendimiento Catalyst serie 9400 y Catalyst serie 9500 y con los switches Catalyst serie 9600. El almacenamiento SSD o el almacenamiento SATA no se pueden utilizar en el puerto USB del panel frontal del switch.

- Cisco no proporciona ningún tercer paquete previo aplicaciones no admitidas por el participante. Los clientes tienen que empaquetarlo ellos mismos. Determinado tercero Los proveedores con los que Cisco ha colaborado pueden compartir un enlace específico a la instalación de Cisco.

- Los puertos USB del panel frontal para el alojamiento de aplicaciones solo son compatibles con los modelos Catalyst 9300LM.

Arquitectura de alojamiento de aplicaciones

Para admitir las capacidades de alojamiento de aplicaciones en los switches Cisco Catalyst 9000, el switch proporciona recursos de hardware en los que pueden residir y ejecutarse las aplicaciones. Cisco IOS XE, que se ejecuta en los switches Cisco Catalyst 9000, reserva memoria dedicada y recursos de CPU para el alojamiento de aplicaciones con el fin de proporcionar un espacio de ejecución independiente para las aplicaciones de los usuarios sin poner en peligro la integridad y el rendimiento del switch.

Además, las aplicaciones deben residir en una de las opciones de almacenamiento de unidades de estado sólido (SSD) externas (USB o M2 SATA), en función de las plataformas específicas de Cisco Catalyst 9000. Las aplicaciones no tienen acceso al almacenamiento flash del dispositivo interno, que se reserva para que Cisco IOS XE proteja su integridad.

Para obtener la máxima flexibilidad y aislamiento total del sistema operativo principal, el kernel IOS XE de Cisco y Cisco Application Framework en los switches Catalyst de Cisco serie 9000 admiten aplicaciones en contenedores aprovechando grupos de control (Cgroups) y espacios de nombres de usuarios. Los grupos C limitan el acceso a los recursos físicos, como la CPU y la memoria de las aplicaciones. Cisco Application Framework comprueba que hay suficientes recursos para activar e instalar la aplicación. Si los recursos de hardware no están disponibles para la aplicación, ésta no podrá activarse y se enviarán los mensajes pertinentes al administrador.

Figura 1. Muestra una representación visual de Cisco Application Framework en la plataforma Cisco Catalyst 9000

Además, el almacenamiento SSD ofrece la mejor seguridad de su clase al proporcionar cifrado de hardware AES-256 en el almacenamiento SSD y autenticación de código de acceso en el almacenamiento SSD y el switch.

El cifrado AES-256 se realiza completamente en hardware. Cuando se utiliza la autenticación de código de acceso, el código de acceso tiene que configurarse tanto en el SSD como en el switch. Cuando un SSD con autenticación de código de acceso preconfigurado se inserta en el switch Catalyst 9000 que no tiene la configuración de código de acceso coincidente, la autenticación falla porque el switch no tiene el código de acceso correcto configurado. El código de acceso debe coincidir tanto en el almacenamiento SSD como en el switch para que la desautenticación se realice correctamente, como se muestra en la figura 2.

Si el código de acceso configurado para el almacenamiento SSD se elimina de los switches Catalyst 9000 y se inserta en un switch que no es Catalyst, el contenido está protegido y no es accesible. Sólo se puede acceder a los datos confidenciales una vez desbloqueados en un switch Catalyst con el código de acceso correcto.

Figura 2. Muestra la autenticación de código de acceso en el almacenamiento SSD:

- Por ejemplo, puede utilizar estos comandos para activar o desactivar la seguridad y configurar una contraseña:

Cat9k#hw-module switch 1 usbflash1 security ?

disable   disable security on USB3.0

enable    Enable security on USB3.0

unlock    Unlock USB3.0

Cat9k(config)#hw-module switch 1 usbflash1-password

Modelos de Catalyst compatibles con alojamiento de aplicaciones

Las capacidades de alojamiento de aplicaciones se admiten de la siguiente manera:

Plataformas Soportadas

Versión de Cisco IOS XE

Catalyst 9300/L

versión 16.12.1 o posterior

Catalyst 9300X

versión 17.5.1 o posterior

Catalyst 9300LM

versión 17.9.1 o posterior

Catalyst 9404 y 9407

versión 17.1.1 o posterior

Catalyst 9410

versión 17.5.1 o posterior

Catalyst 9400X

versión 17.8.1 o posterior

Catalyst serie 9500 de alto rendimiento y 9600

versión 17.5.1 o posterior

Catalyst serie 9500X y 9600X

versión 17.8.1 o posterior

Nota: Cisco Catalyst serie 9200 y Catalyst 9500 (UADP 2.0 basado en: Los modelos C9500-40X, C9500-16X, C9500-24Q, C9500-12Q) no son compatibles con el alojamiento de aplicaciones.

Recursos de hardware para aplicaciones

Tabla 1. Contiene los recursos de hardware de la plataforma Cisco Catalyst 9000 para aplicaciones.

Los recursos, la CPU, la memoria y la vCPU se pueden reservar con un perfil de recursos personalizado si las opciones predeterminadas no son suficientes. Para conocer los límites de recursos del dispositivo, consulte esta información:

- vCPU: Indica el número máximo de CPU virtuales que una sola aplicación puede utilizar simultáneamente.

- Unidades de CPU: Representa el recurso de carga de CPU total asignado al alojamiento de aplicaciones. Cada aplicación especifica la carga mínima de CPU garantizada necesaria para garantizar un funcionamiento fiable.

- Almacenamiento USB posterior: Se refiere a la ranura USB 3.0 empotrada en el panel posterior. El alojamiento de aplicaciones solo se admite en esta ranura USB 3.0 del panel posterior.

- Almacenamiento SATA M.2: Se refiere a una unidad de estado sólido (SSD) interna utilizada para el almacenamiento de datos de aplicaciones.

- NA (No aplicable): Indica que la función o el recurso no está disponible para la configuración especificada.

- El ejemplo ilustra cómo crear un perfil personalizado:

Cat9k(config)#app-hosting appid MYAPP

Cat9k(config-app-hosting)#app-resource profile custom

Cat9k(config-app-resource-profile-custom)#cpu 7400

Cat9k(config-app-resource-profile-custom)#memory 2048

Cat9k(config-app-resource-profile-custom)#vcpu 2

Alta disponibilidad de aplicaciones

Los switches Catalyst 9000 admiten la función de reinicio automático de la aplicación, que puede conservar el último estado operativo configurado de la aplicación en caso de que se produzca un cambio o reinicio del sistema. Esta función está habilitada de forma predeterminada y se requiere el mismo tipo de almacenamiento en los switches activos y en espera.

Tabla 2. Función de reinicio automático de la aplicación de la plataforma Cisco Catalyst 9000

Marco de alojamiento de aplicaciones

El marco de alojamiento de aplicaciones no está habilitado de forma predeterminada. Cisco ha creado Cisco Application Framework (CAF) para gestionar aplicaciones en contenedores que se ejecutan en cualquier dispositivo de red. CAF también se conoce como IOx. Cisco IOx permite la ejecución de aplicaciones de IoT en el extremo de la red (Fog Computing) al tiempo que garantiza una conectividad segura con el software Cisco IOS. Reserva 4 GB de espacio en disco para el alojamiento de aplicaciones. Los datos de la partición y de la aplicación se borran cuando IOx está deshabilitado a través de CLI o cuando la infraestructura IOx utiliza una SSD.

- Esta es la configuración de CLI de Cisco IOS XE para habilitar la infraestructura de alojamiento de aplicaciones:

Cat9k(config)#iox

Nota: A partir de Cisco IOS XE 16.12.1, el empaquetado de IoX ya no es obligatorio. Las aplicaciones Docker se pueden instalar tal cual. Esto permite a los usuarios crear y traer sus propias aplicaciones sin empaquetado adicional. Los desarrolladores de aplicaciones pueden encontrar más información sobre el alojamiento de aplicaciones en el sitio de Cisco DevNet

Redes de contenedores

La imagen ilustra la arquitectura de conectividad para contenedores. Resalta todos los modos de red posibles que el Cat9k soporta para el alojamiento de aplicaciones. Estos incluyen:

- Conmutación de puertos de datos del panel frontal mediante la interfaz interna dedicada AppGigabitEthernet

- Interfaz de gestión (GigabitEthernet 0/0)

AppGigabitEthernet es un puerto de datos de hardware interno que es el hardware conmutado a los puertos de datos del panel frontal. Los contenedores se conectan mediante la interfaz de administración y los puertos de datos del panel frontal. Dentro de los contenedores, las tarjetas de interfaz de red virtual (vNIC) aparecen como interfaces Ethernet estándar, etiquetadas como eth0, eth1, etc. Este diseño facilita una integración perfecta y una configuración de red uniforme en entornos en contenedores.

Figura 3. Diagrama de red del contenedor

Una interfaz AppGigabitEthernet introducida en los switches Catalyst de Cisco serie 9300, 9400 y 9500X ofrece una función de tráfico de aplicaciones dedicado. Se trata de un puerto de datos de hardware interno conmutado por hardware a los puertos de datos del panel frontal. La interfaz AppGigabitEthernet se puede configurar como una interfaz específica de VLAN o troncal. En el caso de una interfaz troncal, se amplía para que funcione como puerto troncal de capa 2 y todo el tráfico recibido por el puerto está disponible para la aplicación. Para una interfaz VLAN, la aplicación se conecta a una red VLAN específica especificando el número de ID de VLAN.

AppGigabitEthernet; La interfaz solo está disponible en los switches Catalyst de Cisco serie 9300, Catalyst serie 9400 y Catalyst 9500X. El chasis Catalyst 9410 con Supervisor 1 requiere la desactivación del puerto 48 de la ranura 4 (si corresponde) para habilitar el puerto AppGigabitEthernet. Los switches Catalyst serie 9500 de alto rendimiento y 9600 no admiten la interfaz AppGigabitEthernet. La conectividad para las aplicaciones alojadas en estos modelos se consigue a través de la interfaz de gestión mediante loopback desde cualquier puerto del panel frontal.

Nota: Los modelos C9300X, C9400X-Sup-2/2XL y C9500X tienen 2 puertos 10G de AppGigabitEthernet.

Red para el alojamiento de aplicaciones

- Para la interfaz troncal, todo el tráfico recibido por el puerto está disponible para la aplicación

Cat9k(config)#interface AppGigabitEthernet 1/0/1

Cat9k(config)#switchport mode trunk

Cat9k(config-if)#exit

Cat9k(config)#app-hosting appid MYAPP

Cat9k(config-app-hosting)#app-vnic AppGigabitEthernet trunk

Cat9k(config-config-app-hosting-trunk)#guest-interface

Cat9k(config-config-app-hosting-trunk-mode-guest)#end

- Para la interfaz VLAN, la aplicación está conectada a una VLAN específica

Cat9k(config)#interface AppGigabitEthernet 1/0/1

Cat9k(config)#switchport trunk allowed vlan

Cat9k(config-if)#exit

Cat9k(config)#app-hosting appid MYAPP

Cat9k(config-app-hosting)#app-vnic AppGigabitEthernet trunk

Cat9k(config-config-app-hosting-trunk)#vlan

guest-interface

Cat9k(config-config-app-hosting-trunk-mode-guest)#end

- Para la interfaz de gestión, la aplicación está conectada al puerto de gestión (GigabitEthernet0/0)

Cat9k(config)#interface gigabitEthernet 0/0

Cat9k(config-if)#ip address

Cat9k(config-if)#exit

Cat9k(config)#app-hosting appid MYAPP

Cat9k(config-app-hosting)#(config-app-hosting)#app-vnic management guest-interface

Cat9k((config-app-hosting-mgmt-gateway)#end

Asignación de dirección IP al contenedor de aplicaciones: Las direcciones IP para las interfaces de contenedor se pueden asignar explícitamente a través de la CLI del switch u obtenerse dinámicamente a través de DHCP.

- Configure una dirección IP estática para la aplicación a través de AppGigabitEthernet:

Cat9k(config)#app-hosting appid MYAPP

Cat9k(config-app-hosting)#app-vnic AppGigabitEthernet trunk

Cat9k(config-config-app-hosting-trunk)#vlan

guest-interface

Cat9k(config-config-app-hosting-vlan-access-ip)#guest-ipaddress

netmask

<-- Container IP Address

Cat9k(config-config-app-hosting-vlan-access-ip)#exit

Cat9k(config-config-app-hosting-trunk)#exit

Cat9k(config-app-hosting)#app-default-gateway

guest-interface

Cat9k(config-app-hosting)#exit

- Configure una dirección IP estática para la aplicación mediante GigabitEthernet 0/0

Cat9k(config)#app-hosting appid MYAPP

Cat9k(config-app-hosting)#app-vnic management guest-interface

Cat9k(config-app-hosting-mgmt-gateway)#guest-ipaddress

netmask

Cat9k(config-app-hosting-mgmt-gateway)#exit

Cat9k(config-app-hosting)#app-default-gateway

guest-interface

Cat9k(config-app-hosting)#exit

- Configure una dirección IP dinámica para la aplicación (DHCP)

Cat9k(config)#app-hosting appid MYAPP

Cat9k(config-app-hosting)#app-vnic AppGigabitEthernet trunk

Cat9k(config-config-app-hosting-trunk)#vlan

guest-interface

Cat9k(config-config-app-hosting-vlan-access-ip)#end

Cat9k#

Or through Interface GigabitEthernet 0/0

Cat9k(config)#app-hosting appid MYAPP

Cat9k(config-app-hosting)#app-vnic management guest-interface

Cat9k(config-app-hosting-mgmt-gateway)#end

Consejo: Asegúrese de que la red esté configurada correctamente antes de instalar las aplicaciones. Detener, desactivar y desinstalar si se requieren cambios y, a continuación, reiniciar

Ciclo de vida para y aplicaciones

El ciclo de vida de las aplicaciones en los switches Cisco Catalyst 9000 consta de tres fases, como se muestra en la figura 4:

- Instalar: Durante esta etapa, la aplicación se instala en el dispositivo. Sin embargo, aún no se han asignado los recursos necesarios para la aplicación.

- Activar: Los recursos de hardware necesarios para la aplicación están comprometidos para garantizar su funcionalidad.

- Inicio: La aplicación pasa a un estado operativo, volviéndose totalmente activa y funcional.

Figura 4. Gestión del ciclo de vida de las aplicaciones

Opciones de Docker Runtime

Si se requiere que la aplicación contenedora tenga opciones de tiempo de ejecución, que se pasan como opciones de línea de comandos, como la IP del controlador, el directorio de datos y otros, entonces esas opciones se pueden configurar usando el comando "app-resource docker".

El sistema admite varias líneas de configuración de cadena de opción de ejecución. Estas son las consideraciones clave para el usuario:

- El usuario puede introducir/copiar y pegar hasta un máximo de 30 líneas de opciones de ejecución de docker.

- El sistema genera una cadena concatenada a partir de las cadenas de las líneas 1 a 30 en ese orden.

- Cada cadena de cada línea de run-option puede tener un máximo de 235 caracteres.

- Cada cadena puede tener más de una opción de ejecución de acoplador "completa", siempre y cuando todas estén contenidas en los 235 caracteres.

- Tenga en cuenta que ninguna cadena de opción de ejecución de ninguna línea se puede dividir en la línea siguiente.

- No es necesario terminar la cadena en cada línea con un espacio. El sistema genera automáticamente un espacio para cada línea cuando concatena todas las cadenas de opciones de ejecución existentes en una sola cadena.

- Si el usuario realiza cambios en la opción de ejecución, deberá detener, desactivar, activar e iniciar la aplicación de nuevo para que las nuevas opciones de ejecución surtan efecto.

Este es un ejemplo de una opción Docker y su posible configuración equivalente en un switch Cat9k:

docker run -v $(APP_DATA):/data --entrypoint startup.sh

Configuración en un switch Catalyst 9000:

Cat9k(config)#app-hosting appid MYAPP

Cat9k(config-app-hosting)#app-resource docker

Cat9k(config-app-hosting-docker)#run-opts 1 "-v $(APP_DATA):/data"

Cat9k(config-app-hosting-docker)#run-opts 2 "--entrypoint startup.sh"

Para el almacenamiento de datos persistentes externos, utilice el comando: run-opts 1 "-v /vol/usb1/iox_host_data_share:/(APP_DATA)"

Cat9k(config)#app-hosting appid MYAPP

Cat9k(config-app-hosting)#app-resource docker

Cat9k(config-app-hosting-docker)#run-opts 1 "-v /vol/usb1/iox_host_data_share:/(APP_DATA)"

Para quitar una línea de opción de ejecución de la configuración, ejecute un comando "no" similar a este ejemplo:

Cat9k(config)#app-hosting appid MYAPP

Cat9k(config-app-hosting)#app-resource docker

Cat9k(config-app-hosting-docker)#no run-opts 1 "-v /vol/usb1/iox_host_data_share:/(APP_DATA)"

Para eliminar todas las opciones de ejecución en la configuración de una aplicación, puede ejecutar el comando de configuración "no":

Cat9k(config)#app-hosting appid MYAPP

Cat9k(config-app-hosting)#no app-resource docker

Lista de opciones de Docker Runtime no admitidas

Las opciones de línea de comandos de Docker enumeradas no se admiten en el marco de alojamiento de aplicaciones por motivos de seguridad o porque las opciones no son aplicables a la plataforma Linux.

Opción Docker

Descripción

--adhesión

Adjuntar a STDIN, STDOUT o STDERR.

—blkio-weight-device

Especifique el peso de E/S del bloque (peso relativo del dispositivo).

—cgroup-parent

Grupo primario opcional para el contenedor.

—cidfile

Escriba el identificador del contenedor en un archivo especificado.

—cpu-count

Especifique el recuento de CPU (sólo Windows).

—cpu-percent

Especifique el porcentaje de CPU (sólo Windows).

—cpus

Especifique el número de CPU (API 1.25+).

—device-group-rule

Agregue una regla a la lista de dispositivos permitidos del grupo.

—device-read-bps

Limite la velocidad de lectura (bytes por segundo) de un dispositivo.

—device-read-iops

Limite la velocidad de lectura (E/S por segundo) de un dispositivo.

—device-write-bps

Limitar la velocidad de escritura (bytes por segundo) a un dispositivo.

—device-write-iops

Limite la velocidad de escritura (E/S por segundo) a un dispositivo.

—disable-content-trust

Omitir verificación de imagen.

—env-file

Cargar variables de entorno desde un archivo.

: interactivo (-i)

Mantenga STDIN abierto incluso si no está conectado.

—io-maxbandwidth

Límite máximo de ancho de banda de E/S para la unidad del sistema (sólo Windows).

—io-maxiops

Límite máximo de E/S para la unidad del sistema (sólo Windows).

--ip

Especifique una dirección IPv4 (ejemplo: 192.168.100.100).

—ip6

Especifique una dirección IPv6 (ejemplo: 2001:db8::44).

: aislamiento

Especifique la tecnología de aislamiento de contenedores.

—link

Agregue un vínculo a otro contenedor.

--nombre

Asigne un nombre al contenedor.

—oomkilldisable

Inhabilite el asesino OOM para el contenedor.

--pid

Especifique el espacio de nombres PID que desea utilizar.

--platform

Especificar la plataforma (experimental; API 1.32+).

—privilegiado

Otorgar privilegios extendidos al contenedor.

--tiempo de ejecución

Especifique el tiempo de ejecución que se utilizará para el contenedor.

—storage-opt

Defina las opciones del controlador de almacenamiento para el contenedor.

—sysctl

Especifique las opciones de sysctl.

—tty (-t)

Asigne un pseudo-TTY.

—userns

Especifique el espacio de nombres de usuario que se va a utilizar.

—uts

Especifique el espacio de nombres UTS que se va a utilizar.

—volume-driver

Especifique un controlador de volumen opcional para el contenedor.

Configuración

Las secciones siguientes explican cómo configurar e implementar una APP en Catalyst 9000

Nota: Explore el catálogo de soluciones de partners que funcionan sin problemas en Catalyst 9000 Series Switches Application Marketplace

- Descargue la imagen de Docker y cópiela en el switch de Cisco mediante SCP, FTP, TFTP o almacenamiento USB.

Cat9k#dir usbflash1:/

Directory of usbflash1:/

17      -rw-           5843233 Jan 23 2025 20:50:01 +00:00 MYAPP.tar

- Configure los parámetros de red (para este ejemplo se utiliza la interfaz AppGigabitEthernet, el 192.168.1.10/24, en VLAN 10 y utilice Google resolver):

Cat9k(config)#interface AppGigabitEthernet 1/0/1

Cat9k(config-if)#switchport trunk allowed vlan 10

Cat9k(config-if)#exit

Cat9k(config)#app-hosting appid MYAPP

Cat9k(config-app-hosting)#app-vnic AppGigabitEthernet trunk

Cat9k(config-config-app-hosting-trunk)#vlan 10 guest-interface 0

Cat9k(config-config-app-hosting-vlan-access-ip)#guest-ipaddress 192.168.1.10 netmask 255.255.255.0

Cat9k(config-config-app-hosting-vlan-access-ip)#exit

Cat9k(config-config-app-hosting-trunk)#exit

Cat9k(config-app-hosting)#app-default-gateway 192.168.1.1 guest-interface 0

Cat9k(config-app-hosting)#name-sever 8.8.8.8

Cat9k(config-app-hosting)#exit

- Habilite la estructura IOx en el switch y espere hasta que todos los servicios se estén ejecutando:

Cat9k(config)#iox

Cat9k#show iox-service

IOx Infrastructure Summary:

---------------------------

IOx service (CAF)            : Running

IOx service (HA)             : Running

IOx service (IOxman)         : Running

IOx service (Sec storage)    : Running

Libvirtd 5.5.0               : Running

Dockerd v19.03.13-ce         : Running

Application DB Sync Info     : Available

Sync Status                  : Disable

- Configure las opciones de ejecución de Docker necesarias para la aplicación específica:

Cat9k(config)#app-hosting appid MYAPP

Cat9k(config-app-hosting)#app-resource docker

Cat9k(config-app-hosting-docker)#run-opts 1 "

"

Cat9k(config-app-hosting-docker)#run-opts 2 "

"

- Instale la aplicación desde la SSD y verifique su implementación:

Cat9k#app-hosting install appid MYAPP package usbflash1:MYAPP.tar

Installing package 'usbflash1:MYAPP.tar' for 'MYAPP'. Use 'show app-hosting list' for progress.

Cat9k#show app-hosting list

App id                                      State

---------------------------------------------------------

MYAPP                                       DEPLOYED

- Active la aplicación y verifique su estado:

Cat9k#app-hosting activate appid MYAPP

MYAPP activated successfully

Current state is: ACTIVATED

Cat9k#show app-hosting list

App id                                      State

---------------------------------------------------------

MYAPP                                       ACTIVATED

- Inicie la aplicación y compruebe su estado de ejecución

Cat9k#app-hosting start appid MYAPP

MYAPP started successfully

Current state is: RUNNING

Cat9k#show app-hosting list

App id                                      State

---------------------------------------------------------

MYAPP                                       RUNNING

- Guarde los cambios de configuración para asegurarse de que persistan tras los reinicios:

Cat9k#app-hosting start appid MYAPP

MYAPP started successfully

Current state is: RUNNING

Cat9k#show app-hosting list

App id                                      State

---------------------------------------------------------

MYAPP                                       RUNNING

Troubleshoot

Esta tabla enumera los diversos comandos que se pueden utilizar para resolver problemas de Alojamiento de aplicaciones:

Comando

Propósito

show iox-service

Muestra los contadores de errores de la interfaz

show app-hosting list

Muestra la lista de dispositivos instalados.

show app-hosting detail appid MYAPP

Muestra información detallada sobre el dispositivo

show app-hosting resource

Muestra los recursos disponibles

show app-hosting utilization appid MYAPP

Muestra información de utilización del dispositivo

app-hosting move appid MYAPP log to bootflash:

Utilice este comando para capturar los registros de seguimiento específicos de la aplicación, si existen.

app-hosting move system techsupport to ?

bootflash:                 Ruta de destino

crashinfo-1:             Ruta de destino

crashinfo:                 Ruta de destino

flash-1:                    Ruta de destino

flash:                        Ruta de destino

webui:                      Ruta de destino

Utilice este comando para mover el soporte técnico del sistema a un directorio alternativo.

show app-hosting infra

Utilice este comando para comprobar si está habilitada la comprobación de firmas.

Consejo: La verificación de la firma de la aplicación solo se puede deshabilitar cuando el alojamiento de la aplicación usa USB/SSD como medio.

app-hosting verification ?

deshabilitar verificación de aplicaciones deshabilitar

enable App verification enable

Utilice este comando para habilitar/deshabilitar la verificación de firmas (desde el modo de privilegio CLI).

app-hosting connect appid MYAPP session

Utilice este comando para acceder a la consola de la aplicación y verificar el estado de los procesos dentro del contenedor (desde el modo de privilegio CLI).

Modificar el contenedor Docker

Si Docker requiere modificación, siga este procedimiento:

- Detenga la aplicación:

Cat9k#app-hosting stop appid MYAPP

MYAPP stopped successfully

Current state is: STOPPED

- Desactive la aplicación:

Cat9k#app-hosting deactivate appid MYAPP

MYAPP deactivated successfully

Current state is: DEPLOYED

- Modifique las opciones de Docker:

Cat9k#app-hosting start appid MYAPP

Cat9k(config)#app-hosting appid MYAPP

Cat9k(config-app-hosting)#app-resource docker

Cat9k(config-app-hosting-docker)#prepend-pkg-opts

Cat9k(config-app-hosting-docker)#

Cat9k(config-app-hosting-docker)#exit

Cat9k(config-app-hosting)#exit

Cat9k(config)#exit

- Reactive la aplicación:

Cat9k#app-hosting activate appid MYAPP

MYAPP activated successfully

Current state is: STOPPED

- Inicie la aplicación:

Cat9k#app-hosting start appid MYAPP

MYAPP started successfully

Current state is: RUNNING

Información Relacionada

- Informe técnico sobre el alojamiento de aplicaciones en switches Catalyst de Cisco serie 9000

- Mercado de aplicaciones

- Alojamiento de aplicaciones en la empresa