Compartir vía


Conexión a servicios en Azure Container Apps (versión preliminar)

A medida que desarrolle aplicaciones en Azure Container Apps, a menudo debe conectarse a diferentes servicios. En lugar de crear servicios con antelación y conectarlos manualmente a la aplicación de contenedor, puede crear rápidamente instancias de servicios de nivel de desarrollo diseñados para entornos que no son de producción y que se conocen como complementos.

Los complementos le permiten usar servicios del sistema operativo sin la carga de descargas manuales, creación y configuración.

Una vez que esté listo para que la aplicación use un servicio de nivel de producción, puede conectar la aplicación a un servicio administrado de Azure.

Entre los servicios disponibles como complemento se incluyen:

Título Nombre del servicio
Kafka kafka
MariaDB mariadb
Milvus milvus
PostgreSQL (código abierto) postgres
Qdrant qdrant
Redis (código abierto) redis
Weaviate weaviate

Para obtener la lista más reciente de servicios de complementos, ejecute el siguiente comando:

az containerapp add-on --help

Consulte la sección sobre cómo administrar un servicio para obtener instrucciones de uso.

Características

Los complementos incluyen las siguientes características:

  • Ámbito: el complemento se ejecuta en el mismo entorno que la aplicación contenedora conectada.
  • Escalado: el complemento puede escalar a cero cuando no hay ninguna demanda para el servicio.
  • Precios: la facturación de complementos se encuentra en precios basados en el consumo. La facturación solo se produce cuando se ejecutan instancias del complemento.
  • Almacenamiento: el complemento usa el almacenamiento persistente para asegurarse de que no hay ninguna pérdida de datos, ya que el complemento se escala a cero.
  • Revisiones: cada vez que cambie un complemento, se crea una nueva revisión de la aplicación contenedora.

Consulte las características específicas del servicio para los servicios administrados.

Enlace

Los complementos y los servicios administrados se conectan a un contenedor a través de un enlace.

El entorno de ejecución de Container Apps enlaza una aplicación contenedora a un servicio mediante:

  • Detección del servicio
  • Extracción de valores de configuración de red y conexión
  • Inserción de información de configuración y conexión en variables de entorno de aplicaciones contenedoras

Una vez establecido un enlace, la aplicación contenedora puede leer estos valores de configuración y conexión de variables de entorno.

Desarrollo frente a producción

A medida que pasa de desarrollo a producción, puede pasar de un complemento a un servicio administrado.

En la tabla siguiente se muestra qué servicio se va a usar en el desarrollo y qué servicio se va a usar en producción.

Funcionalidad Complemento Servicio administrado de producción
instancias y claves Redis de código abierto Azure Cache for Redis
Base de datos N/D Azure Cosmos DB
Base de datos PostgreSQL de código abierto Servidor flexible de Azure Database for PostgreSQL

Es responsable de la continuidad de los datos entre entornos de desarrollo y producción.

Administración de un servicio

Para conectar un servicio a una aplicación, primero debe crear el servicio.

Use el comando az containerapp add-on <SERVICE_TYPE> create con el tipo de servicio y el nombre para crear un nuevo servicio.

az containerapp add-on redis create \
  --name myredis \
  --environment myenv

Este comando crea un nuevo servicio de Redis denominado myredis en un entorno de Container Apps denominado myenv.

Para enlazar un servicio a una aplicación, use el --bind argumento para containerapp create.

az containerapp create \
  --name myapp \
  --image myimage \
  --bind myredis \
  --environment myenv

Este comando incluye la aplicación contenedora típicacreate con el argumento --bind. El argumento bind indica al entorno de ejecución de Container Apps que conecte un servicio a la aplicación.

El --bind argumento está disponible para los comandos create o update.

Para desconectar un servicio de una aplicación, use el argumento --unbind en el comando update

En el ejemplo siguiente se muestra cómo desenlazar un servicio.

az containerapp update --name myapp --unbind myredis

Para obtener un tutorial completo sobre cómo conectarse a los servicios, consulte Conexión de servicios en Azure Container Apps.

Para obtener más información sobre los comandos y argumentos del servicio, consulte la az containerapp referencia.

Limitaciones

  • Los complementos están en versión preliminar pública.
  • Cualquier aplicación contenedora creada antes del 23 de mayo de 2023 no es apta para usar complementos.
  • Los complementos incluyen garantías mínimas. Por ejemplo, se reinician automáticamente si se bloquean, pero no hay ninguna calidad formal de servicio o garantías de alta disponibilidad asociadas a ellos. En el caso de las cargas de trabajo de producción, use los servicios administrados por Azure.
  • Si usa su propia red virtual, debe usar un entorno de perfiles de carga de trabajo. La característica Complementos no se admite en entornos de solo consumo que usan redes virtuales personalizadas.

Pasos siguientes