En este artículo se abordan las preguntas más frecuentes sobre Azure Container Instances.
Implementación
¿Qué tamaño puede tener mi imagen de contenedor?
El tamaño máximo de una imagen de contenedor implementable en Azure Container Instances es de 15 GB. Es posible que pueda implementar imágenes de mayor tamaño según la disponibilidad exacta en el momento de la implementación, pero no se garantiza un tamaño de imagen mayor.
El tamaño de la imagen de contenedor afecta al tiempo que tarda en implementarse, por lo que, generalmente, le interesará que las imágenes de contenedor sean lo más pequeñas posible.
¿Cómo puedo acelerar la implementación de mi contenedor?
Dado que uno de los principales factores determinantes en el tiempo de implementación es el tamaño de imagen, busque formas de reducir el tamaño. Quite las capas que no necesite o reduzca el tamaño de las capas de la imagen (seleccionando una imagen de sistema operativo de base menos pesada). Por ejemplo, si ejecuta contenedores de Linux, considere la posibilidad de usar Alpine como imagen de base en lugar de un servidor de Ubuntu completo. Asimismo, para contenedores de Windows, use una imagen de base de Nano Server si es posible.
También debe comprobar la lista de imágenes previamente almacenadas en caché en Azure Container Images, disponible a través de la API Enumerar imágenes en caché. Es posible que pueda desactivar una capa de imagen de una de las imágenes previamente almacenadas en caché.
Consulte una guía más detallada sobre cómo reducir el tiempo de inicio del contenedor.
¿Qué imágenes de sistema operativo de base de Windows se admiten?
Nota
Debido a problemas de compatibilidad con versiones anteriores tras las actualizaciones de Windows en 2020, las siguientes versiones de imagen incluyen el número de versión mínimo que se recomienda usar en la imagen de base. Las implementaciones actuales que usan versiones de imagen anteriores no se ven afectadas, pero las nuevas implementaciones deben adaptarse a las siguientes imágenes de base. Después del 14 de junio de 2021, ACI ya no admite implementaciones con números de versión anteriores.
Nota
Actualmente, los contenedores confidenciales de Azure Container Instances no admiten contenedores de Windows.
Imágenes de base de Windows Server 2016
Importante
A partir de ahora y hasta el 31 de diciembre de 2022, puede seguir implementando grupos de contenedores de Windows Server 2016 en Azure Container Instances. Después de esta fecha, las imágenes de Windows Server 2016 dejarán de ser compatibles. Consulte ¿Cómo puedo migrar mis grupos de contenedores de Windows Server 2016 a imágenes de Windows Server 2019? para obtener instrucciones sobre cómo realizar la transición de sus cargas de trabajo.
-
Nano Server:
sac2016,10.0.14393.3568o más reciente -
Windows Server Core:
ltsc2016,10.0.14393.3568o más reciente
Nota
No se admiten las imágenes de Windows basadas en las versiones de Canal semestral 1709 o 1803.
Imágenes base de Windows Server 2019 y de cliente
-
Nano Server:
1809,10.0.17763.1040o más reciente -
Windows Server Core:
ltsc2019,1809,10.0.17763.1040o más reciente -
Windows:
1809,10.0.17763.1040o más reciente
¿Se admiten las imágenes de contenedor ARM64 (arm64)?
N.º Azure Container Instances actualmente solo admite imágenes de contenedor x64 (AMD64). Las imágenes de contenedor ARM64 (arm64) no se admiten para su implementación en Azure Container Instances. Esta limitación también se aplica cuando se usa Azure Container Instances como proveedor para el nodo virtual de AKS (Virtual Kubelet). Si intenta implementar una imagen solo de ARM64, es posible que el contenedor no se inicie porque la plataforma subyacente no admite cargas de trabajo de ARM64. La compatibilidad con ARM64 en Azure Container Instances se está evaluando para futuras versiones, pero actualmente no hay ninguna fecha de entrega confirmada ni escala de tiempo anunciada.
¿Qué capas de imagen .NET o .NET Core debo usar en mi contenedor?
Use la imagen más pequeña que satisfaga sus requisitos. Para Linux, puede usar una imagen runtime-alpine de .NET Core, que se admite desde el lanzamiento de .NET Core 2.1. Para Windows, si está utilizando .NET Framework completo, deberá usar una imagen de Windows Server Core (imagen de solo tiempo de ejecución, como, por ejemplo, 4.7.2-windowsservercore-ltsc2016). Las imágenes solo de ejecución son más pequeñas, pero no admiten cargas de trabajo que requieran el SDK de .NET.
Nota
ACI no puede extraer imágenes de registros no compatibles con OCI.
¿Qué tipos de registros de contenedor son compatibles con ACI?
ACI admite las extracción de imágenes de ACR y otros registros de contenedor que no son de Microsoft, como DockerHub, siempre que el punto de conexión del registro sea accesible públicamente a través de Internet.
En el caso de los registros privados o restringidos a la red (registros sin una dirección IP pública), solo se admite Azure Container Registry (ACR). ACI puede extraer imágenes de un punto de conexión de ACR privado mediante una identidad administrada y una configuración de punto de conexión privado. No se admite la extracción de imágenes de registros privados que no son de ACR (por ejemplo, un registro de Docker autohospedado accesible solo a través de una red virtual), incluso si la conectividad de red virtual está configurada entre ACI y el registro.
Importante
No se puede usar la autenticación de entidad de servicio para extraer imágenes de un ACR que tenga habilitado un punto de conexión privado. Debe usar una identidad administrada para autenticar la extracción de imágenes de un registro con punto de conexión privado habilitado. Para obtener más información, consulte Implementación en Azure Container Instances desde Azure Container Registry mediante una identidad administrada.
Para obtener más información, consulte Implementación en la red virtual: acceso al registro de imágenes.
¿Cómo puedo migrar mis grupos de contenedores de Windows Server 2016 a imágenes de Windows Server 2019?
Identifique qué imagen base de Windows utiliza actualmente.
Si se extrae directamente de Microsoft Container Registry (MCR), ese nombre de imagen es su imagen base.
Si trabajas con un registro privado, tendrás que revisar tu Dockerfile para identificar la imagen base, que aparecerá después de la línea 'FROM'.
Seleccione la nueva imagen base que desea utilizar de Windows Server 2019. En los ejemplos siguientes se muestran imágenes de Windows Server 2016 utilizadas habitualmente en Azure Container Instances y nuestras recomendaciones para las imágenes de reemplazo de Windows Server 2019.
Imagen de Windows Server 2016 Imágenes recomendadas de Windows Server 2019 mcr.microsoft.com/windows/servercore/iis mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019 mcr.microsoft.com/windows/servercore:ltsc2016 mcr.microsoft.com/windows/servercore:ltsc2019 Para obtener más información, consulte acerca de la detección de imágenes.
Nota
Si desea ayuda para seleccionar su nueva imagen base, cree una incidencia de soporte técnico de Azure.
Siga la guía de actualización de contenedores en Azure Container Instances para actualizar su grupo de contenedores ACI para utilizar su nueva imagen base.
Si utiliza MCR para su registro de contenedores, puede pasar el nombre de la imagen de MCR directamente al parámetro de imagen del grupo de contenedores.
Si utiliza un registro de contenedores privado, siga los pasos indicados en Actualizar contenedores a una nueva versión del sistema operativo Windows. Asegúrese de que los parámetros del registro de imágenes del grupo de contenedores estén actualizados si los hubiera cambiado.
¿Por qué recibo un error que indica que "un grupo de contenedores sigue en transición"?
Si ve el error "El grupo de contenedores '<name>' sigue realizando la transición, vuelva a intentarlo más adelante", lo provoca una de las dos limitaciones de diseño de la plataforma:
- La operación de inicio se ejecuta demasiado rápido después de que un contenedor se detenga o se solicite una operación de parada. Los sidecars del sistema necesitan unos segundos para propagar el estado terminado. Espere al menos unos segundos antes de iniciar una operación de arranque después de que el contenedor se detenga o después de ejecutar una operación de parada.
- Operación de inicio emitida después de que un contenedor se detenga cuando la directiva de reinicio esté establecida en
Never. Cuando la directiva de reinicio esNever, el estado detenido no se propaga y se produce un error en una operación de inicio posterior. Para resolver este problema, emita una operación de detención antes de la operación de inicio o use en su lugar una operación de reinicio. Una operación de reinicio reinicia el proceso de contenedor en lugar de iniciar una implementación completamente nueva.
Disponibilidad y cuotas
¿Cuántos núcleos y qué memoria debo asignar para mis contenedores o para el grupo de contenedores?
Realmente, esto depende de su carga de trabajo. Empiece poco a poco y pruebe el rendimiento para ver cómo funcionan los contenedores. Supervise el uso de recursos de CPU y memoria y, a continuación, agregue núcleos o memoria en función del tipo de procesos que implementa en el contenedor.
Asegúrese de comprobar también la disponibilidad de recursos para la región de implementación para los límites superiores en los núcleos de CPU y memoria disponibles para cada grupo de contenedores.
Nota
La infraestructura subyacente al servicio utiliza una pequeña cantidad de los recursos de un grupo de contenedores. Los contenedores pueden acceder a la mayoría de los recursos asignados al grupo, pero no a todos. Por este motivo, planifique un pequeño margen de recursos al solicitar recursos para los contenedores del grupo.
¿En qué infraestructura subyacente se ejecuta ACI?
Azure Container Instances pretende ser un servicio de contenedores a petición sin servidor, por lo que queremos que se centre en el desarrollo de los contenedores y no en la infraestructura. Para aquellos que tengan curiosidad o quieran hacer comparaciones de rendimiento, ACI se ejecuta en conjuntos de máquinas virtuales de Azure de varios SKU, principalmente de las series F y D. Esperamos que esto cambie en el futuro, ya que seguimos desarrollando y optimizando el servicio.
Deseo implementar miles de núcleos en ACI: ¿puedo aumentar mi cuota?
Sí (a veces). Consulte el artículo sobre cuotas y límites para conocer las cuotas actuales y qué límites se pueden aumentar por solicitud.
¿Puedo implementar con más de 4 núcleos y 16 GB de RAM?
Consulte el artículo sobre contenedores grandes para cargas de trabajo de proceso y de uso intensivo de memoria. Los contenedores grandes admiten recuentos de vCPU mayores que 4 y capacidades de memoria de 16 GB, con un máximo de 32 vCPU y 256 GB por grupo de contenedores estándar y 32 vCPU y 192 GB por grupo de contenedores confidenciales.
¿Cuándo estará ACI en una región específica?
La disponibilidad regional actual se encuentra publicada aquí. Si tiene un requisito para una región específica, póngase en contacto con el soporte técnico de Azure.
Características y escenarios
¿Cómo se puede escalar un grupo de contenedores?
Actualmente, el escalado no está disponible para contenedores o grupos de contenedores. Si necesita ejecutar más instancias, use nuestra API para automatizar y crear más solicitudes de creación de grupos de contenedores en el servicio.
¿Qué características están disponibles para las instancias que se ejecutan en una red virtual personalizada?
Puede implementar grupos de contenedores en una red virtual de Azure que elija y delegar las direcciones IP privadas a los grupos de contenedores para redirigir el tráfico dentro de la red virtual a través de los recursos de Azure. Para conocer los escenarios y las limitaciones de red con Azure Container Instances, consulte Escenarios y recursos de redes virtuales.
¿Reserva el servicio ACI puertos para el funcionamiento del servicio?
Sí, el servicio ACI reserva los siguientes puertos para la funcionalidad del servicio: 22, 1025-1027, 3389-3399, 9999, 19000, 19080, 19390, 19100, 20000-30000, 49152-65534. Evite usar estos puertos en la definición del grupo de contenedores.
¿Puede tomar una dependencia respecto a la dirección IP del grupo de contenedores?
Las direcciones IP del grupo de contenedores están sujetas a cambios después de crearse o eliminarse. Se recomienda que el código de la aplicación no dependa de la dirección IP del grupo de contenedores. También se recomienda usar NAT Gateway o Application Gateway si desea mantener una dirección IP estática.
Precios
¿Cuándo se pone en marcha el contador?
La duración del grupo de contenedores se calcula desde el momento en que empezamos a extraer la imagen del primer contenedor (para una implementación nueva) o se reinicia el grupo de contenedores (si ya se ha implementado), y hasta que se detenga el grupo de contenedores. Consulte los detalles en Precios de Container Instances.
¿Dejo de recibir cargos cuando se detienen los contenedores?
Los contadores dejan de funcionar en cuanto se detiene por completo el grupo de contenedores. Mientras que un contenedor del grupo de contenedores se esté ejecutando, mantenemos los recursos por si desea iniciar los contenedores de nuevo.
Contenedores confidenciales en Azure Container Instances
¿Qué es la computación confidencial y cómo se aplica a Azure Container Instances?
La computación confidencial es un término del sector que definió el Consorcio de Computación Confidencial (CCC), una fundación dedicada a definir y acelerar la adopción de la computación confidencial. El CCC define la computación confidencial como: la protección de los datos en uso mediante la realización de cálculos en un entorno de ejecución de confianza (TEE) basado en hardware. Los contenedores confidenciales de ACI presentan protección basada en hardware, integridad de código y comprobación del entorno de ejecución de confianza (TEE). Los contenedores confidenciales aplican la versión más reciente del hardware de computación confidencial, lo que permite a los clientes implementar sus aplicaciones existentes sin modificaciones mientras aprovechan la protección de datos basada en hardware. La integridad del código y la comprobación del TEE se logran mediante la atestación de una directiva de cumplimiento de computación confidencial, la cual se adjunta al grupo de contenedores en el momento de la implementación. Si alguna de las propiedades del grupo de contenedores difiere de las de la directiva de cumplimiento de la informática confidencial, el entorno no se inicia, lo que garantiza que el TEE no se vea comprometido.
¿Cuándo debería usar los contenedores confidenciales en Azure Container Instances?
Los contenedores confidenciales se pueden usar para una amplia variedad de cargas de trabajo elásticas, pero son especialmente una excelente opción para las cargas de trabajo que requieran garantías de protección de datos sólidas. Algunos ejemplos de estas cargas de trabajo incluyen cargas de trabajo de aprendizaje automático que usan conjuntos de datos que incluyen datos personales o con algoritmos que se consideran propiedad intelectual. Los clientes del sector sanitario pueden usarlos para analizar los datos de los pacientes e investigarlos. Los clientes de servicios financieros pueden usarlo para cálculos de riesgos de análisis crediticio y equilibrios de cartera.
¿Cómo puedo generar una directiva de cumplimiento de computación confidencial?
Las directivas de cumplimiento de computación confidencial se pueden generar mediante la extensión confcom con la CLI de Azure. Para obtener más información, consulte Extensión confcom.
¿Hay características que no se admiten en los contenedores confidenciales en Azure Container Instances?
Las implementaciones de contenedores de ACI basadas en GPU y los contenedores de Windows no se admiten con contenedores confidenciales.
¿Qué regiones tienen disponibles los contenedores confidenciales en Azure Container Instances?
La disponibilidad de la región actual para contenedores confidenciales se publica aquí.
¿Hay un coste adicional por el contenedor confidencial en Azure Container Instances?
Los contenedores confidenciales en Azure Container Instances tienen un coste adicional en comparación con los grupos de contenedores de SKU estándar. Para más información, consulte la página de precios.
Contenedores Spot en Azure Container Instances (versión preliminar)
¿Qué son los contenedores Spot de ACI?
Los contenedores de acceso puntual de ACI son una nueva característica que permite a los clientes ejecutar cargas de trabajo en contenedores interrumpibles en la capacidad no utilizada de Azure con un descuento de hasta el 70 % en comparación con los contenedores de ACI de prioridad normal.
¿Cuándo debería usar contenedores Spot de ACI?
Los contenedores Spot de ACI pueden ser interrumpidos cuando Azure no dispone de suficiente capacidad excedente, y a los clientes se les factura por segundo según el uso de memoria y núcleos. Con los contenedores de acceso puntual de ACI, ahora puede ejecutar las cargas de trabajo en contenedores, como el procesamiento por lotes, las simulaciones de Monte Carlo, las cargas de trabajo de desarrollo/pruebas y las cargas de trabajo sin conexión paralelizables que pueden tolerar interrupciones en Azure a una fracción del costo de los precios tradicionales de ACI. Esta oferta está dirigida a los clientes que quieren ejecutar cargas de trabajo interrumpibles sin requisitos de disponibilidad estrictos.
¿Hay funciones que no se admiten en los contenedores Spot de ACI?
Las implementaciones de contenedores de ACI basadas en GPU, las zonas de disponibilidad, la compatibilidad con las implementaciones de ACI con IP pública y las implementaciones de ACI detrás de una red virtual personalizada con IP privada no son compatibles con los contenedores Spot.
¿Cuál es la cuota predeterminada para los contenedores Spot de ACI?
Todos los clientes obtienen una cuota predeterminada de 10 núcleos de vCPU y 10 grupos de contenedores.
¿Cómo solicito cuota para contenedores Spot de ACI?
Los clientes pueden presentar una solicitud de soporte técnico para aumentar la capacidad de los contenedores Spot seleccionando como tipo de problema "Servicios y límites de suscripción (cuotas)" y como nuevo tipo de cuota "StandardSpotCores", añadido para la oferta de contenedores Spot de ACI, cuando se le solicite que complete los datos requeridos.
¿En qué regiones están disponibles los contenedores Spot de ACI?
Los contenedores Spot de Azure Container Instances (ACI) solo están disponibles en determinadas regiones durante la versión preliminar pública. Consulte Disponibilidad de recursos y regiones para obtener más información.
¿Hay algún coste adicional para los contenedores Spot de ACI?
Los contenedores de acceso puntual de ACI se ofrecen a un precio con descuento y ofrecen hasta un 70 % de descuento sobre los contenedores de ACI de prioridad regular. Los descuentos variarían al mes en cada región. Consulte la página de preciospara obtener más información.
Pasos siguientes
- Más información sobre Azure Container Instances.
- Solución de problemas habituales de Azure Container Instances.