Ejercicio: ejecución de Azure Container Instances

Completado

Cree un contenedor en Azure y expóngalo en Internet con un nombre de dominio completo (FQDN).

Importante

Para realizar este ejercicio, se necesita una suscripción de Azure propia y puede que se apliquen cargos. Si aún no tiene una suscripción de Azure, cree una cuenta gratuita antes de comenzar.

¿Por qué usar Azure Container Instances?

Azure Container Instances resulta útil para escenarios que pueden funcionar en contenedores aislados, lo que incluye aplicaciones simples, automatización de tareas y trabajos de compilación. Estas son algunas de las ventajas:

  • Inicio rápido: inicie los contenedores en cuestión de segundos.
  • Facturación por segundo: solo se generan gastos mientras se ejecuta el contenedor.
  • Seguridad de nivel de hipervisor: la aplicación se aísla completamente, como si estuviera en una máquina virtual.
  • Tamaños personalizados: especifique los valores exactos de núcleos de CPU y memoria.
  • Almacenamiento persistente: monte recursos compartidos de Azure Files directamente en un contenedor para recuperar y conservar el estado.
  • Linux y Windows: programe contenedores Windows y Linux con la misma API.

En aquellos escenarios donde se necesita una orquestación completa de contenedores, lo que incluye la detección de servicios en varios contenedores, el escalado automático y las actualizaciones de aplicaciones coordinadas, se recomienda Azure Kubernetes Service (AKS).

Creación de un contenedor

  1. Inicie sesión en Azure Portal con la suscripción de Azure.

  2. Abra Azure Cloud Shell desde Azure Portal seleccionando el icono de Cloud Shell. Asegúrese de seleccionar Bash como entorno interactivo de Cloud Shell.

  3. Cree un grupo de recursos llamado learn-deploy-aci-rg para que sea más fácil limpiar estos recursos cuando haya terminado con el módulo. Si elige otro nombre de grupo de recursos, recuérdelo para usarlo en los demás ejercicios de este módulo. También debe elegir una región en la que quiera crear el grupo de recursos, por ejemplo, Este de EE. UU.

    az group create --name learn-deploy-aci-rg --location eastus
    

    Cree un contenedor, para lo que debe especificar un nombre, una imagen de Docker y un grupo de recursos de Azure en el comando az container create. Este contenedor se puede exponer opcionalmente a Internet si se especifica una etiqueta de nombre DNS. En este ejemplo, se implementa un contenedor que hospeda una aplicación web pequeña. También puede seleccionar la ubicación donde se va a colocar la imagen; aquí se usa la región Este de EE. UU., pero puede cambiarla por una ubicación cercana a la suya.

  4. Especifique un nombre DNS para exponer el contenedor en Internet. El nombre DNS debe ser único. Con fines de aprendizaje, ejecute este comando desde Cloud Shell para crear una variable de Bash que contenga un nombre único:

    DNS_NAME_LABEL=aci-demo-$RANDOM
    
  5. Ejecute el siguiente comando az container create para iniciar una instancia de contenedor:

    az container create \
      --resource-group learn-deploy-aci-rg \
      --name mycontainer \
      --image mcr.microsoft.com/azuredocs/aci-helloworld \
      --ports 80 \
      --dns-name-label $DNS_NAME_LABEL \
      --location eastus
    

    $DNS_NAME_LABEL especifica el nombre DNS. El nombre de la imagen, azuredocs/aci-helloworld, hace referencia a una imagen de contenedor hospedada en Microsoft Container Registry que ejecuta una aplicación web Node.js básica.

  6. Cuando finalice el comando az container create, ejecute az container show para comprobar su estado:

    az container show \
      --resource-group learn-deploy-aci-rg \
      --name mycontainer \
      --query "{FQDN:ipAddress.fqdn,ProvisioningState:provisioningState}" \
      --output table
    

    Obtendrá el nombre de dominio completo (FQDN) del contenedor y su estado de aprovisionamiento. Este es un ejemplo:

    FQDN                                    ProvisioningState
    --------------------------------------  -------------------
    aci-demo-0000.eastus.azurecontainer.io  Succeeded
    

    Si el contenedor está en el estado Creando, espere un momento y vuelva a ejecutar el comando hasta que vea el estado Correcto.

  7. Desde un explorador, vaya al FQDN del contenedor para verlo en ejecución. Asegúrese de escribir el prefijo http:// delante de la cadena aci-demo.... Debería obtener esta página de bienvenida:

    Captura de pantalla de la aplicación de contenedor Node.js de ejemplo en ejecución en un explorador.

Resumen

Aquí, ha creado una instancia de contenedor de Azure para ejecutar un servidor y una aplicación web. También ha accedido a esta aplicación con el FQDN de la instancia de contenedor.