Azure Container Apps en Azure Arc (versión preliminar)
Puede ejecutar Container Apps en un clúster de AKS o AKS-HCI habilitado para Azure Arc.
La ejecución de un clúster de Kubernetes habilitado para Azure Arc permite que:
- Los desarrolladores puedan aprovechar las características de Container Apps
- Los administradores de TI puedan mantener el cumplimiento corporativo mediante el hospedaje de Container Apps en la infraestructura interna.
Aprenda a configurar el clúster de Kubernetes para Container Apps mediante Configuración de un clúster de Kubernetes habilitado para Azure Arc para ejecutar Azure Container Apps
A medida que configure el clúster, lleve a cabo estas acciones:
El clúster conectado, que es una proyección en Azure de la infraestructura de Kubernetes. Para más información, consulte ¿Qué es Kubernetes habilitado para Azure Arc?.
Una extensión de clúster, que es un subrecurso del recurso de clúster conectado. La extensión Container Apps instala los recursos necesarios en el clúster conectado. Para más información sobre las extensiones de clúster, consulte Extensiones de clúster en Kubernetes habilitado para Azure Arc.
Una ubicación personalizada, que agrupa un grupo de extensiones y las asigna a un espacio de nombres para los recursos creados. Para más información, consulte Ubicaciones personalizadas basadas en Kubernetes habilitado para Azure Arc.
Un entorno conectado de Container Apps, que permite una configuración común entre aplicaciones pero no relacionada con las operaciones del clúster. Conceptualmente, se implementa en el recurso de ubicación personalizada y los desarrolladores de aplicaciones crean aplicaciones en este entorno.
Limitaciones de la vista preliminar pública
Las siguientes limitaciones de la versión preliminar pública se aplican a Azure Container Apps en Kubernetes habilitado para Azure Arc.
Limitación | Detalles |
---|---|
Regiones de Azure compatibles | Este de EE. UU., Oeste de Europa, Este de Asia |
Requisito de redes del clúster | Debe admitir el tipo de servicio LoadBalancer |
Requisitos del sistema operativo del nodo | Solo Linux. |
Característica: identidades administradas | No disponible |
Característica: extracción de imágenes de ACR con identidad administrada | No disponible (depende de las identidades administradas) |
Registros | Log Analytics se debe configurar con la extensión de clúster; no por cada aplicación |
Importante
Si realiza la implementación en AKS-HCI, asegúrese de haber configurado HAProxy como equilibrador de carga antes de intentar instalar la extensión.
Recursos creados por la extensión Container Apps
Cuando la extensión Container Apps se instala en el clúster de Kubernetes habilitado para Azure Arc, se crean varios recursos en el espacio de nombres de versión especificado. Estos pods permiten que el clúster sea una extensión del proveedor de recursos Microsoft.App
para admitir la administración y el funcionamiento de las aplicaciones.
Opcionalmente, puede optar por que la extensión instale KEDA para el escalado controlado por eventos. Pero solo se permite una instalación de KEDA en el clúster. Si tiene una instalación existente, deshabilite la instalación de KEDA mientras instala la extensión de clúster.
En la tabla siguiente se describe el rol de cada revisión que se crea de manera automática:
Pod | Descripción | Número de instancias | CPU | Memoria | Tipo |
---|---|---|---|---|---|
<extensionName>-k8se-activator |
Se usa como parte de la canalización de escalado | 2 | 100 millicpu | 500 MB | ReplicaSet |
<extensionName>-k8se-billing |
Generación de registros de facturación: Azure Container Apps en Kubernetes habilitado para Azure Arc es gratuito durante la versión preliminar | 3 | 100 millicpu | 100 MB | ReplicaSet |
<extensionName>-k8se-containerapp-controller |
Pod de operador principal que crea recursos en el clúster y mantiene el estado de los componentes. | 2 | 100 millicpu | 1 GB | ReplicaSet |
<extensionName>-k8se-envoy |
Capa de proxy de front-end para todas las solicitudes del plano de datos. Enruta el tráfico entrante a las aplicaciones correctas. | 3 | 1 núcleo | 1536 MB | ReplicaSet |
<extensionName>-k8se-envoy-controller |
Operador, que genera la configuración de Envoy | 2 | 200 millicpu | 500 MB | ReplicaSet |
<extensionName>-k8se-event-processor |
Un destino de enrutamiento alternativo para ayudar con las aplicaciones que se han escalado a cero mientras el sistema obtiene la primera instancia disponible. | 2 | 100 millicpu | 500 MB | ReplicaSet |
<extensionName>-k8se-http-scaler |
Supervisa el volumen de solicitudes entrantes para proporcionar información de escalado a KEDA. | 1 | 100 millicpu | 500 MB | ReplicaSet |
<extensionName>-k8se-keda-cosmosdb-scaler |
Escalador de Cosmos DB de KEDA | 1 | 10 m | 128 MB | ReplicaSet |
<extensionName>-k8se-keda-metrics-apiserver |
Servidor de métricas de KEDA | 1 | 1 núcleo | 1000 MB | ReplicaSet |
<extensionName>-k8se-keda-operator |
Escala las cargas de trabajo dentro y fuera de 0/1 a N instancias | 1 | 100 millicpu | 500 MB | ReplicaSet |
<extensionName>-k8se-log-processor |
Recopila registros de las aplicaciones y otros componentes y los envía a Log Analytics. | 2 | 200 millicpu | 500 MB | DaemonSet |
<extensionName>-k8se-mdm |
Agente de métricas y registros | 2 | 500 millicpu | 500 MB | ReplicaSet |
dapr-metrics | Pod de métricas de Dapr | 1 | 100 millicpu | 500 MB | ReplicaSet |
dapr-operator | Administra las actualizaciones de componentes y los puntos de conexión de servicio para Dapr | 1 | 100 millicpu | 500 MB | ReplicaSet |
dapr-placement-server | Se usa solo para actores: crea tablas de asignación que asignan instancias de actor a los pods | 1 | 100 millicpu | 500 MB | StatefulSet |
dapr-sentry | Administra mTLS entre los servicios y actúa como entidad de certificación | 2 | 800 millicpu | 200 MB | ReplicaSet |
Preguntas más frecuentes sobre Azure Container Apps en Azure Arc (versión preliminar)
- ¿Cuánto cuesta?
- ¿Qué características de Container Apps se admiten?
- ¿Se admiten identidades administradas?
- ¿Existen límites de escalado?
- ¿Qué registros se recopilan?
- ¿Qué debo hacer si veo un error de registro del proveedor?
- ¿Se puede instalar la extensión en los nodos de Windows?
- ¿Puedo implementar la extensión Container Apps en un clúster basado en Arm64?
¿Cuánto cuesta?
Azure Container Apps en Kubernetes habilitado para Azure Arc es gratuito durante la versión preliminar pública.
¿Qué características de Container Apps se admiten?
Durante el período de versión preliminar, se validan determinadas características de Azure Container Apps. Cuando se admitan, se activarán sus opciones en la barra de navegación izquierda de Azure Portal. Las características que aún no se admiten permanecen atenuadas.
¿Se admiten identidades administradas?
No se admiten las identidades administradas. No se pueden asignar identidades administradas a las aplicaciones cuando se ejecutan en Azure Arc. Si la aplicación necesita una identidad para trabajar con otro recurso de Azure, considere la posibilidad de usar una entidad de servicio de aplicación en su lugar.
¿Existen límites de escalado?
Todas las aplicaciones implementadas con Azure Container Apps en Kubernetes habilitado para Azure Arc se pueden escalar dentro de los límites del clúster de Kubernetes subyacente. Si el clúster se queda sin recursos de proceso disponibles (CPU y memoria principalmente), las aplicaciones se escalan al número de instancias de la aplicación que Kubernetes pueda programar con el recurso disponible.
¿Qué registros se recopilan?
Los registros de los componentes del sistema y las aplicaciones se escriben en la salida estándar.
Ambos tipos de registro se pueden recopilar para su análisis mediante las herramientas estándar de Kubernetes. También puede configurar la extensión de clúster de entorno de aplicación con un área de trabajo de Log Analytics y enviar todos los registros a esa área de trabajo.
De manera predeterminada, los registros de los componentes del sistema se envían al equipo de Azure. No se envían los registros de aplicaciones. Para evitar que estos registros se transfieran, establezca logProcessor.enabled=false
como un valor de configuración de extensión. Este valor de configuración deshabilita el reenvío de la aplicación al área de trabajo de Log Analytics. Es posible que deshabilitar el procesador de registro afecte al tiempo necesario para cualquier caso de soporte técnico y se le pedirá que recopile registros de la salida estándar mediante otros medios.
¿Qué debo hacer si veo un error de registro del proveedor?
Al crear un recurso de entorno de conectado de Azure Container Apps, es posible que se muestre el error "No se encontró ningún proveedor de recursos registrado" para algunas suscripciones. Los detalles del error pueden incluir un conjunto de ubicaciones y de versiones de API que se consideran válidas. Si se devuelve este mensaje de error, la suscripción se debe volver a registrar con el proveedor Microsoft.App
. Volver a registrar el proveedor no tiene ningún efecto en las aplicaciones o API existentes. Para volver a registrarse, use la CLI de Azure para ejecutar az provider register --namespace Microsoft.App --wait
. Después, vuelva a intentar ejecutar el comando del entorno conectado.
¿Se puede instalar la extensión en los nodos de Windows?
No, la extensión no se puede instalar en los nodos de Windows. La extensión admite la instalación en nodos de Linux solo.
¿Puedo implementar la extensión Container Apps en un clúster basado en Arm64?
Los clústeres basados en Arm64 no se admiten en este momento.
Notas de la versión de la extensión
Extensión Container Apps v1.0.46 (diciembre de 2022)
- Versión preliminar pública inicial de la extensión Container Apps
Extensión Container Apps v1.0.47 (enero de 2023)
- Actualización de Envoy a la versión 1.0.24
Extensión Container Apps v1.0.48 (febrero de 2023)
- Se han agregado sondeos a contenedores de EasyAuth
- Se ha aumentado del límite de memoria para el operador dapr
- Se ha agregado la prevención de sobrescritura de encabezados de plataforma
Extensión Container Apps v1.0.49 (febrero de 2023)
- Actualización de KEDA a 2.9.1 y Dapr a 1.9.5
- Aumento de los límites de recursos del controlador de Envoy a 200 m de CPU
- Aumento de los límites de recursos del controlador de Container Apps a 1 GB de memoria
- Reducción de los límites de recursos sidecar de EasyAuth a 50 m de CPU
- Resolución del registro de errores de KEDA para los valores de métrica que faltan
Extensión Container Apps v1.0.50 (marzo de 2023)
- Se han actualizado las imágenes de registro sincronizadas con la nube pública
Extensión Container Apps v1.5.1 (abril de 2023)
- Nuevo formato de número de control de versiones
- Actualización de Dapr a la versión 1.10.4
- Mantenimiento de la escala de Envoy después de las implementaciones de nuevas revisiones
- Cambio de cuándo se agregan sondeos de inicio predeterminados a un contenedor, si el desarrollador no define sondeos de inicio y preparación, se agregan sondeos de inicio predeterminados
- Se agrega la variable de entorno CONTAINER_APP_REPLICA_NAME a contenedores personalizados
- Mejora del rendimiento cuando se detienen varias revisiones
Extensión Container Apps v1.12.8 (junio de 2023)
- Actualización de OSS Fluent Bit a 2.1.2 y Dapr a 1.10.6
- Compatibilidad con registros de contenedor expuestos en el puerto personalizado
- Habilitación de la activación o desactivación de la revisión cuando se detiene una aplicación contenedora
- Corrección de la lista de revisiones que no devuelve contenedores de inicialización
- Encabezados permitidos predeterminados agregados para la directiva CORS
Extensión Container Apps v1.12.9 (julio de 2023)
- Actualizaciones secundarias de los contenedores sidecar de EasyAuth
- Actualización de los agentes de supervisión de extensiones
Extensión Container Apps v1.17.8 (agosto de 2023)
- Actualización de EasyAuth a 1.6.16, Dapr a 1.10.8 y Envoy a 1.25.6
- Adición de compatibilidad con el montaje de volúmenes para trabajos de Azure Container Apps
- Se han agregado restricciones de IP para aplicaciones con el tipo de entrada TCP
- Se ha agregado compatibilidad con Container Apps con varios puertos expuestos
Extensión Container Apps v1.23.5 (diciembre de 2023)
- Actualización de Envoy a 1.27.2, KEDA a v2.10.0, EasyAuth a 1.6.20 y Dapr a 1.11
- Establecimiento de Envoy en TLS 1.3 como máximo
- Corrección para resolver bloqueos en pods de procesador de registros
- Corrección de problemas de recuperación de secretos de extracción de imágenes
- Actualización de la selección de ubicación de Envoy para distribuir entre los nodos disponibles siempre que sea posible
- Cuando las aplicaciones contenedoras no se aprovisionan como resultado de conflictos de revisión, se establece el estado de aprovisionamiento en erróneo
Extensión Container Apps v1.30.6 (enero de 2024)
- Actualización de KEDA a v2.12, imagen de Envoy SC a v1.0.4 e imagen de Dapr a v1.11.6
- Se ha agregado el tiempo de espera de respuesta predeterminado para las rutas de Envoy a 1800 segundos
- Se ha cambiado el nivel de registro predeterminado del bit Fluent a advertencia
- Retraso de la eliminación de pods de trabajo para garantizar la emisión del registro
- Se ha corregido un problema para la eliminación del pod de trabajo para ejecuciones de trabajos con errores
- Garantía de que los trabajos en estado suspendido han eliminado los pods con errores
- Actualización para no resolver HTTPOptions para aplicaciones TCP
- Permiso para que las aplicaciones escuchen en HTTP o HTTPS
- Adición de la capacidad de suspender trabajos
- Se ha corregido un problema por el que el escalador de KEDA no podía crear el trabajo después de detener la ejecución del trabajo
- Adición de startingDeadlineSeconds al trabajo de Container Apps si hay un reinicio del clúster
- Se ha quitado el registro pesado en el servidor de registro de acceso de Envoy
- Se ha actualizado la versión de configuración de supervisión para Azure Container Apps en Kubernetes habilitado para Azure Arc
Extensión Container Apps v1.36.15 (abril de 2024)
- Actualización de Dapr a v1.12 y de Métricas de Dapr a v0.6
- Permiso para que los clientes puedan habilitar el registro de depuración del SDK de Azure en Dapr
- Escala de Envoy en respuesta al uso de memoria
- Cambio del formato de registro de Envoy a Json
- Exportación de métricas adicionales de Envoy
- Truncamiento del registro de Envoy a los primeros 1024 caracteres cuando no se puede analizar el contenido del registro
- Control de SIGTERM correctamente en el proxy local
- Permitir la posibilidad de usar diferentes espacios de nombres con KEDA
- Se ha agregado validación para el nombre de la regla de escala
- Se ha habilitado la revisión de GC de manera predeterminada
- Se ha habilitado la emisión de métricas para sidecars
- Se han agregado volumeMounts a las ejecuciones de trabajos
- Se ha agregado validación a los puntos de conexión de webhook para trabajos
Extensión Container Apps v1.37.1 (julio de 2024)
- Actualizar EasyAuth para admitir MISE
Extensión de Container Apps v1.37.2 (septiembre de 2024)
- Se ha actualizado la imagen de Dapr-Metrics a v0.6.8 para resolver el problema de tiempo de espera de red.
- Se ha resuelto el problema en el procesador de registros que impedía que el contenedor MDSD se iniciara cuando el clúster está conectado detrás de un proxy.
Extensión de Container Apps v1.37.7 (octubre de 2024)
- Resuelto un problema con el contenedor de inicialización de MDM que provocaba el bloqueo del contenedor en caso de que no se pudiera extraer
- Se ha agregado compatibilidad con el modelo de implementación híbrido de Logic Apps (versión preliminar pública)
Pasos siguientes
Creación de un entorno conectado de Azure Container Apps (versión preliminar)