Compartir a través de


Contenedores sidecar en Azure App Service

En las aplicaciones de App Service de Linux (aplicaciones de solo código y contenedores personalizados), un sidecar es un contenedor auxiliar que se ejecuta en el mismo entorno que el contenedor de aplicaciones principal. Sidecars puede proporcionar servicios auxiliares (como telemetría, almacenamiento en caché o inferencia de IA) y se administran como parte de la aplicación de App Service.

¿Por qué utilizar contenedores sidecar en App Service?

Sidecars le permite agregar nuevas funcionalidades, como la supervisión, el almacenamiento en caché, la inteligencia artificial o la lógica personalizada, sin modificar el código de aplicación principal (en aplicaciones de solo código) o el contenedor principal (en contenedores personalizados). Entre las ventajas se incluyen:

  • Separación de preocupaciones: Agregue o actualice los servicios independientemente de la aplicación principal.
  • Extensibilidad: Integre extensiones precompiladas o personalizadas (por ejemplo, OpenTelemetry, Redis, Datadog, Phi-3/4 ai models).
  • Flexibilidad operativa: Administre, actualice o escale sidecars junto con la aplicación.
  • Ruta de migración: Traslado de Docker Compose o soluciones de varios contenedores a una plataforma administrada y escalable (consulte Migración de aplicaciones de Docker Compose a sidecars en Azure App Service).

¿Cómo funcionan los contenedores sidecar en App Service?

  • Roles de contenedor: cada aplicación habilitada para sidecar tiene un contenedor principal (isMain: true) y hasta nueve contenedores sidecar (isMain: false). En la configuración del contenedor, isMain: true designa el contenedor de aplicaciones principal. Todos los demás deben tener isMain: false.
  • Gestión de redes: Todos los contenedores de la aplicación comparten el mismo espacio de nombres de red y se comunican a través de localhost. No es necesario la resolución de nombres de servicio, así que use localhost:<port>. Cada contenedor debe escuchar en un puerto único. Solo se admiten los puertos 80 y 8080 para el tráfico HTTP externo. Para la comunicación interna, use cualquier puerto único disponible.
  • Ciclo de vida: los contenedores sidecar se inician, detienen y escalan junto con el contenedor de la aplicación principal. Cuando la aplicación se escala o se reduce horizontalmente, todos los contenedores sidecar asociados siguen el mismo ciclo de vida automáticamente.
  • Configuración: Sidecars se puede configurar mediante Azure Portal, plantillas de ARM o la CLI. Especifique la imagen de contenedor, las variables de entorno y otras opciones de configuración para cada contenedor. La configuración de la aplicación se comparte entre todos los contenedores. También puede establecer variables de entorno específicas del contenedor.
  • Montajes de volumen: cada contenedor puede tener sus propios montajes de volumen.
  • Autenticación: Sidecars puede extraer imágenes de registros públicos o privados, incluido Azure Container Registry. Use credenciales de administrador o identidad administrada para registros privados.

Tipos de contenedores sidecar

  • Contenedores sidecar personalizados:: cualquier imagen de contenedor que se proporcione, como OpenTelemetry Collector, NGINX o su propio microservicio.
  • Extensiones precompiladas: Contenedores admitidos oficialmente para:
    • IA (Phi-3, Phi-4): Agregue la inferencia SLM local (modelo de lenguaje pequeño) a la aplicación.
    • Redis: Agregue una caché local de Redis para el acceso rápido a los datos.
    • Datadog: Integre la supervisión y la observabilidad de Datadog.
    • Y mucho más a medida que Azure expande el catálogo.

Preguntas más frecuentes

¿Puedo usar sidecars en mis aplicaciones de Linux existentes?

Para las aplicaciones de solo código linux existentes (en contenedores integrados), consulte Tutorial: Configuración de un contenedor sidecar para una aplicación Linux en Azure App Service.

Para las aplicaciones de contenedor personalizadas existentes, consulte Habilitación de la compatibilidad con contenedores sidecar para contenedores personalizados de Linux.

¿Cómo puedo supervisar y solucionar problemas de contenedores sidecar?

Usa Azure Monitor, Log Analytics y la hoja Diagnosticar y resolver en el portal de Azure. Los registros de todos los contenedores están disponibles en el flujo de registro de App Service.

¿Existen limitaciones?

Es posible que App Service Environment (ASE) y las nubes nacionales aún no sean compatibles. Consulte la documentación más reciente de Azure para ver las actualizaciones.

Más recursos