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.