0Pricing
Cloud & IT Cert Prep · Lección

Azure Container Instances

Ponga en marcha una aplicación en contenedores en segundos mediante ACI sin administrar servidores, configure variables de entorno y montajes de volúmenes y comprenda la facturación de ACI.

Azure Container Instances es una lección gratuita de Cloud & IT Cert Prep en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cloud & IT Cert Prep, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cloud & IT Cert Prep incluye 4 lecciones en total.

¿Qué es Azure Container Instances?

Azure Container Instances (ACI) es la forma más rápida de ejecutar una carga de trabajo en contenedores en Azure sin administrar servidores ni orquestadores. Usted proporciona una imagen de contenedor y Azure la ejecuta en segundos sobre una infraestructura compartida y multiinquilino. ACI es ideal para tareas de corta duración, trabajos por lotes, agentes de compilación y cargas de trabajo controladas por eventos en las que poner en marcha un clúster completo de Kubernetes supondría una sobrecarga innecesaria.

Creación de una instancia de contenedor

Inicie un contenedor de ACI con un único comando az container create. Especifique la imagen, el grupo de recursos, la CPU y la memoria. ACI extrae la imagen, asigna los recursos e inicia el contenedor, normalmente en un plazo de 5 a 10 segundos. Cada instancia de contenedor obtiene un nombre de dominio completo (FQDN) único si asigna una etiqueta de nombre DNS, lo que permite acceder a ella inmediatamente desde Internet.

# Run an Nginx container accessible from the internet
az container create \
  --name my-nginx \
  --resource-group MyRG \
  --image nginx:latest \
  --cpu 1 \
  --memory 1 \
  --dns-name-label my-nginx-demo \
  --ports 80

# Access at: http://my-nginx-demo.<region>.azurecontainer.io

Variables de entorno y valores seguros

Pase la configuración a los contenedores de ACI mediante variables de entorno especificadas durante la creación. Para valores confidenciales, como claves de API o contraseñas, use variables de entorno seguras: no se muestran en Azure Portal ni en la salida de la CLI después de la implementación, lo que evita su exposición accidental en registros o pistas de auditoría. Los valores seguros siguen siendo accesibles dentro del contenedor durante el tiempo de ejecución como variables de entorno normales.

# Pass regular and secure environment variables
az container create \
  --name my-app \
  --resource-group MyRG \
  --image mycontainerregistry.azurecr.io/myapp:v1.0 \
  --environment-variables APP_ENV=production \
  --secure-environment-variables \
    DATABASE_PASSWORD='super-secret-password' \
    API_KEY='my-api-key'

# View logs from the running container
az container logs --name my-app --resource-group MyRG

Facturación y asignación de recursos de ACI

ACI factura por segundo en función de los núcleos de CPU y los GB de memoria que asigne, sin un periodo mínimo de facturación. Solo paga mientras el contenedor está en ejecución; en cuanto se detiene, también se detiene la facturación. Esto hace que ACI sea extremadamente rentable para cargas de trabajo de corta duración. Puede asignar entre 0,1 y 4 núcleos de CPU y entre 0,1 y 16 GB de memoria por grupo de contenedores, en las combinaciones admitidas.

# Small: 0.5 CPU, 0.5 GB memory
az container create --name small-task --resource-group MyRG \
  --image my-batch-image:latest --cpu 0.5 --memory 0.5 \
  --restart-policy Never  # Don't restart after completion

# Large: 4 CPU, 16 GB memory for intensive tasks
az container create --name ml-inference --resource-group MyRG \
  --image ml-model:latest --cpu 4 --memory 16

Políticas de reinicio

ACI admite tres políticas de reinicio que controlan el comportamiento del contenedor después de salir. Always (valor predeterminado) reinicia el contenedor cada vez que sale, por lo que es adecuado para servicios de larga duración. Never ejecuta el contenedor una vez y lo deja en estado terminado, por lo que es ideal para trabajos por lotes. OnFailure solo reinicia el contenedor cuando sale con un código de salida distinto de cero, lo que resulta útil para patrones de reintento tras errores.

# Batch job: run once, never restart
az container create \
  --name data-processor \
  --resource-group MyRG \
  --image my-batch-image:latest \
  --restart-policy Never \
  --environment-variables BATCH_DATE=2025-01-01

# Check the container's final state
az container show \
  --name data-processor \
  --resource-group MyRG \
  --query '{state:instanceView.state, exitCode:instanceView.currentState.exitCode}'

Grupos de contenedores: implementaciones con varios contenedores

Un grupo de contenedores es una colección de contenedores que comparten ciclo de vida, red y almacenamiento, de forma similar a un pod de Kubernetes. Los contenedores del mismo grupo comparten una dirección IP local y el espacio de nombres de puertos, lo que les permite comunicarse mediante localhost. Un patrón habitual consiste en un contenedor de aplicación principal y un contenedor sidecar (por ejemplo, un agente de registro o un proxy) en el mismo grupo, definido mediante una plantilla YAML o ARM.

# multi-container.yaml
apiVersion: '2021-09-01'
location: eastus
name: my-container-group
properties:
  containers:
  - name: app
    properties:
      image: myapp:v1.0
      ports: [{port: 80}]
      resources: {requests: {cpu: 1, memoryInGb: 1}}
  - name: log-forwarder
    properties:
      image: fluent-bit:latest
      resources: {requests: {cpu: 0.5, memoryInGb: 0.5}}
  osType: Linux
  restartPolicy: Always
type: Microsoft.ContainerInstance/containerGroups

# Deploy from YAML
# az container create --resource-group MyRG --file multi-container.yaml

Montajes de volúmenes: integración con Azure Files

De forma predeterminada, los contenedores de ACI no tienen estado: los datos escritos en el sistema de archivos del contenedor se pierden cuando este se reinicia. Monte un recurso compartido de Azure Files como volumen para conservar los datos entre reinicios del contenedor o compartirlos entre contenedores del mismo grupo. Especifique el nombre y la clave de la cuenta de almacenamiento, así como el nombre del recurso compartido de archivos, al crear la instancia de contenedor.

# Mount an Azure Files share for persistent storage
az container create \
  --name stateful-app \
  --resource-group MyRG \
  --image myapp:v1.0 \
  --azure-file-volume-account-name mystorageaccount \
  --azure-file-volume-account-key '<storage-account-key>' \
  --azure-file-volume-share-name myfileshare \
  --azure-file-volume-mount-path /data

# Data written to /data persists in the Azure Files share

Instancias de contenedor con GPU

ACI admite instancias de contenedor con GPU (K80, V100) para cargas de trabajo de inferencia de ML, procesamiento de vídeo y cálculo científico. Las instancias con GPU están disponibles en regiones seleccionadas y requieren contenedores Linux. Se facturan por GPU/segundo, por lo que resultan económicas para escenarios de inferencia en ráfagas en los que se inicia un contenedor con GPU, se ejecuta el modelo y se elimina inmediatamente, a un coste mucho menor que el de una máquina virtual con GPU dedicada en ejecución permanente.

# Create a GPU-enabled container instance
az container create \
  --name gpu-inference \
  --resource-group MyRG \
  --image my-ml-model:latest \
  --gpu-count 1 \
  --gpu-sku V100 \
  --cpu 4 \
  --memory 16 \
  --os-type Linux

ACI con Virtual Network

Implemente grupos de contenedores de ACI en una subred dedicada dentro de una VNet para asignarles direcciones IP privadas y permitirles acceder a otros recursos conectados a la VNet (bases de datos y máquinas virtuales) sin exponerlos a Internet. ACI integrado con VNet requiere una subred dedicada y delegada (delegada en Microsoft.ContainerInstance/containerGroups) y no admite la asignación de IP públicas.

# Create an ACI container in a VNet
az container create \
  --name private-task \
  --resource-group MyRG \
  --image myapp:v1.0 \
  --vnet MyVNet \
  --subnet ContainerSubnet \
  --restart-policy Never

# The container gets a private IP from the subnet CIDR
# It can reach VNet resources (SQL, Redis, VMs) on private IPs

ACI como nodo de Virtual Kubelet

ACI se integra con AKS como un nodo virtual mediante el proyecto de código abierto Virtual Kubelet. Cuando un clúster de AKS experimenta una demanda en ráfaga que supera la capacidad de sus nodos de máquinas virtuales, Kubernetes puede programar pods en un nodo virtual de ACI, poniendo en marcha instancias de contenedor de ACI reales. Esto proporciona un escalado ilimitado en ráfagas sin aprovisionar previamente nodos de máquinas virtuales adicionales, y solo paga por el cómputo de ACI durante el periodo de la ráfaga.

# Enable virtual nodes on an AKS cluster
az aks enable-addons \
  --name myAKSCluster \
  --resource-group MyRG \
  --addons virtual-node \
  --subnet-name VirtualNodeSubnet

# Schedule a burst pod on ACI via node selector
# spec:
#   nodeSelector:
#     kubernetes.io/role: agent
#     beta.kubernetes.io/os: linux
#     type: virtual-kubelet
#   tolerations:
#   - key: virtual-kubelet.io/provider
#     operator: Exists

Cuándo usar ACI, AKS o App Service

Elija ACI para tareas de corta duración, trabajos por lotes, agentes de compilación de CI y contenedores puntuales en los que la sobrecarga de Kubernetes no sea necesaria. Elija AKS para microservicios de varios contenedores y larga duración que requieran detección de servicios, comprobaciones de estado, actualizaciones graduales y redes de clúster. Elija App Service cuando desee las ventajas de PaaS (ranuras de implementación, certificados administrados y autenticación integrada) sin administrar directamente las redes de contenedores.

Comprobación rápida

Compruebe su comprensión de los conceptos de Microsoft Azure Fundamentals (AZ-900) de esta lección.

Resumen de la lección

En esta lección ha aprendido que Azure Container Instances ejecuta contenedores en segundos sin administrar servidores y factura por segundo de CPU y memoria; los grupos de contenedores permiten que varios contenedores compartan la red y el almacenamiento como un pod de Kubernetes; y las políticas de reinicio (Always, Never, OnFailure) controlan el ciclo de vida del contenedor después de su salida. A continuación exploraremos los conceptos de Kubernetes para Azure.

Preguntas frecuentes

¿La lección «Azure Container Instances» es gratis?

Sí — el texto completo de «Azure Container Instances» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cloud & IT Cert Prep, actualiza a CoddyKit PRO. El curso de Cloud & IT Cert Prep incluye 4 lecciones en total.

¿Qué aprenderé en «Azure Container Instances»?

Ponga en marcha una aplicación en contenedores en segundos mediante ACI sin administrar servidores, configure variables de entorno y montajes de volúmenes y comprenda la facturación de ACI. Practicas Cloud & IT Cert Prep con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Cloud & IT Cert Prep?

No se requiere experiencia previa. Cloud & IT Cert Prep en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Azure Container Instances»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Cloud & IT Cert Prep?

Sí. Cada lección de Cloud & IT Cert Prep incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Azure Container Registry
  2. Azure Container Instances
  3. Conceptos de Kubernetes para Azure
  4. Implementación de cargas de trabajo en AKS
← Volver a Cloud & IT Cert Prep