¿Qué es Azure Container Instances?
Los contenedores están convirtiéndose en la manera preferida de empaquetar, implementar y administrar aplicaciones en la nube. Azure Container Instances ofrece la forma más rápida y sencilla de ejecutar contenedores de Linux o Windows en Azure, sin tener que administrar ninguna máquina virtual y sin tener que adoptar un servicio de nivel superior.
ACI admite contenedores normales, confidenciales y de acceso puntual. ACI se puede usar como instancia única o varias instancias a través de NGroups, o bien puede obtener funcionalidades de orquestación mediante la implementación de pods en el clúster de Azure Kubernetes Service (AKS) mediante nodos virtuales en ACI. Para que los tiempos de arranque sean aún más rápidos, ACI admite grupos en espera.
Tiempos de inicio rápido
Los contenedores ofrecen importantes ventajas de inicio sobre las máquinas virtuales (VM). Azure Container Instances puede iniciar un contenedor en Azure en segundos sin que sea necesario aprovisionar y administrar máquinas virtuales.
Traiga imágenes de contenedores Linux o Windows de Docker Hub, un Azure Container Registry privado, o cualquier otro registro de Docker basado en la nube. Visite las preguntas más frecuentes para obtener información sobre qué registros admite ACI. Azure Container Instances almacena en la caché varias imágenes del sistema operativo base comunes, lo que ayuda a acelerar la implementación de las imágenes de aplicación personalizadas.
Para que los tiempos de arranque sean aún más rápidos, ACI admite grupos en espera.
Acceso a contenedores
Azure Container Instances permite exponer los grupos de contenedores directamente a Internet con una dirección IP y un nombre de dominio completo (FQDN). Al crear una instancia de contenedor, se puede especificar una etiqueta de nombre DNS personalizada, con el fin de que se pueda acceder a la aplicación en customlabel. azureregion. azurecontainer.io.
Azure Container Instances también admite la ejecución de comandos en un contenedor en ejecución, para lo que proporciona un shell interactivo que ayuda en el desarrollo y la solución de problemas de las aplicaciones. El acceso se realiza a través de HTTPS y se usa TLS para proteger las conexiones de cliente.
Importante
Azure Container Instances requiere todas las conexiones seguras de servidores y aplicaciones para usar TLS 1.2. Se ha retirado la compatibilidad con TLS 1.0 y 1.1.
Implementaciones compatibles
Seguridad de nivel de hipervisor
Los contenedores siempre ofrecían aislamiento de dependencia entre aplicaciones y control de recursos, pero no estaban suficientemente reforzados para el uso de varios inquilinos hostiles. Azure Container Instances garantiza que la aplicación está tan aislada en un contenedor como lo estaría en una máquina virtual.
Datos del cliente
El servicio Azure Container Instances no almacena los datos de los clientes. Sin embargo, almacena los identificadores de suscripción de la suscripción de Azure usados para crear recursos. El almacenamiento de identificadores de suscripción es necesario para asegurarse de que los grupos de contenedores siguen ejecutándose según lo previsto.
Tamaños personalizados
Los contenedores normalmente están optimizados para ejecutar una sola aplicación, pero las necesidades exactas de esas aplicaciones pueden diferir considerablemente. Azure Container Instances proporciona un uso óptimo al permitir especificaciones exactas de los núcleos y la memoria de la CPU. El usuario paga según lo que necesita y se le factura por segundo, para que pueda optimizar con precisión los gastos según sus necesidades reales.
Para los trabajos de proceso intensivo, como los de aprendizaje automático, Azure Container Instances puede programar los contenedores de Linux para usar recursos de GPU de NVIDIA Tesla (versión preliminar).
Almacenamiento persistente
Para recuperar y conservar el estado con Azure Container Instances, ofrecemos el montaje directo de los recursos compartidos de Azure Files con el respaldo de Azure Storage.
Contenedores de Linux y Windows
Azure Container Instances puede programar los contenedores Windows y Linux con la misma API. Puede especificar la preferencia de tipo de sistema operativo al crear los grupos de contenedores.
Algunas características están restringidas actualmente a los contenedores Linux:
- Varios contenedores por grupo de contenedor
- Montaje del volumen (Azure Files, emptyDir, GitRepo, secreto)
- Métrica de uso de recursos con Azure Monitor
- Recursos de GPU (versión preliminar)
En el caso de las implementaciones de contenedores de Windows, use imágenes basadas en imágenes base de Windows comunes.
Ejecución de varios contenedores en un único grupo de contenedores
Azure Container Instances admite la programación de varios contenedores dentro de un único grupo de contenedores que comparten el mismo host de contenedor, red local, almacenamiento y ciclo de vida. Esto le permite combinar el contenedor de la aplicación principal con otros contenedores que actúan en una función auxiliar, como los patrones sidecar de registro.
Implementación de Virtual Network
Azure Container Instances permite la implementación de instancias de contenedor en una red virtual de Azure. Si se implementan en una subred que se encuentre en su red virtual, las instancias de contenedor pueden comunicarse de forma segura con otros recursos de la red virtual, incluidos los que estén en un entorno local (mediante VPN Gateway o ExpressRoute).
Compatibilidad con zonas de disponibilidad
Azure Container Instances admite implementaciones de grupos de contenedores zonales, lo que significa que la instancia está anclada a una zona de disponibilidad específica y seleccionada automáticamente. La zona de disponibilidad se puede especificar por grupo de contenedores.
Identidad administrada
Azure Container Instances admite el uso de identidad administrada con el grupo de contenedores, que permite que el grupo de contenedores se autentique en cualquier servicio que admita la autenticación de Microsoft Entra sin administrar credenciales en el código de contenedor.
Extracción de imágenes autenticadas de identidad administrada
Azure Container Instances puede autenticarse con una instancia de Azure Container Registry (ACR) mediante una identidad administrada, lo que le permite extraer la imagen sin tener que incluir un nombre de usuario y una contraseña directamente en la definición del grupo de contenedores.
Implementación de contenedores confidenciales
Los contenedores confidenciales en ACI le permiten ejecutar contenedores en un entorno de ejecución de confianza (TEE) que brinda protección de integridad y confidencialidad basada en hardware para sus cargas de trabajo de contenedores. Los contenedores confidenciales de ACI pueden proteger los datos en uso y cifran los datos que se procesan en la memoria. Los contenedores confidenciales en ACI se admiten como SKU que puede seleccionar al implementar su carga de trabajo. Para más información, consulte grupos de contenedores confidenciales.
Implementación de contenedores de acceso puntual
Los contenedores de acceso puntual de ACI permiten a los clientes ejecutar cargas de trabajo en contenedores interrumpibles en la capacidad de no utilizada de Azure a precios con descuentos de hasta un 70 % en comparación con los contenedores de ACI de prioridad normal. Los contenedores de acceso puntual de ACI se pueden adelantar cuando Azure encuentra una escasez de capacidad sobrante y son adecuados para cargas de trabajo sin requisitos de disponibilidad estrictos. A los clientes se les factura por la memoria por segundo y por el uso principal. Para usar contenedores de acceso puntual de ACI, puede implementar la carga de trabajo con una marca de propiedad específica que indique que desea usar grupos de contenedores de acceso puntual y aprovechar el modelo de precios con descuento. Para obtener más información, consulte Grupos de contenedores de acceso puntual.
NGroups
NGroups proporciona funcionalidades avanzadas para administrar varios grupos de contenedores relacionados. NGroups proporciona compatibilidad para mantener un número especificado de grupos de contenedores, realizar actualizaciones graduales, implementar en varias zonas de disponibilidad, usar equilibradores de carga para la entrada e implementar contenedores confidenciales. Para obtener más información, consulte Acerca de NGroups.
Nodos virtuales en Azure Container Instances
Los nodos virtuales de Azure Container Instances permiten implementar pods en el clúster de Azure Kubernetes Service (AKS) que se ejecutan como grupos de contenedores en ACI. Esto le permite organizar los grupos de contenedores mediante construcciones conocidas de Kubernetes. Dado que la infraestructura sin servidor de ACI realiza una copia de seguridad de los nodos virtuales, puede escalar verticalmente rápidamente la carga de trabajo sin necesidad de esperar a que el escalador automático del clúster de Kubernetes implemente nodos de proceso de máquina virtual.
Consideraciones
Las credenciales del usuario que se pasan a través de la interfaz de la línea de comandos (CLI) se almacenan como texto sin formato en el back-end. Almacenar credenciales en texto sin formato es un riesgo de seguridad; Microsoft aconseja a los clientes que almacenen credenciales de usuario en variables de entorno de la CLI para asegurarse de que se cifran o transforman cuando se almacenan en el back-end.
Si el grupo de contenedores deja de funcionar, se recomienda intentar reiniciar el contenedor, y comprobar el código de la aplicación o la configuración de red local antes de abrir una solicitud de soporte técnico.
Las imágenes de contenedor no pueden tener más de 15 GB, cualquier imagen con un tamaño mayor puede provocar un comportamiento inesperado: ¿Qué tamaño puede tener la imagen de mi contenedor?
Algunas imágenes base de Windows Server ya no son compatibles con Azure Container Instances:
¿Qué imágenes de sistema operativo de base de Windows se admiten?
Si se reinicia un grupo de contenedores, la dirección IP del grupo de contenedores puede cambiar. Se recomienda usar una dirección IP codificada de forma rígida en su escenario. Si necesita una dirección IP pública estática, use Application Gateway: Dirección IP estática para el grupo de contenedores: Azure Container Instances | Microsoft Learn.
Hay puertos reservados para la funcionalidad del servicio. Se recomienda no usar estos puertos porque su uso provoca un comportamiento inesperado: ¿Reserva el servicio ACI puertos para la funcionalidad del servicio?
Si tiene problemas para implementar o ejecutar el contenedor, consulte primero la Guía de solución de problemas para ver si hay errores y problemas comunes.
Los grupos de contenedores pueden reiniciarse debido a eventos de mantenimiento de la plataforma. Estos eventos de mantenimiento se realizan para garantizar la mejora continua de la infraestructura subyacente: El contenedor tenía un reinicio aislado sin la entrada explícita del usuario.
ACI no permite operaciones de contenedores privilegiados. Le recomendamos que no dependa del uso del directorio raíz para su escenario.
Pasos siguientes
Pruebe a implementar un contenedor en Azure con un único comando mediante nuestra Guía de inicio rápido: