Compartir vía


Tutorial: Implementación de un contenedor de acceso puntual con Azure Container Instances mediante la CLI de Azure (versión preliminar)

Los contenedores de acceso puntual combinan la simplicidad de ACI con el bajo costo de las máquinas virtuales de acceso puntual, lo que facilita a los clientes la ejecución de cargas de trabajo interrumpibles y contenedorizadas a gran escala y hace que esto sea asequible. Use Azure Container Instances para ejecutar contenedores de acceso puntual sin servidor. Implemente una aplicación en un contenedor de acceso puntual a petición cuando quiera ejecutar cargas de trabajo interrumpibles y contenedorizada en la capacidad de Azure sin usar a bajo costo y sin necesidad de usar una plataforma de orquestación de contenedores completa, como Azure Kubernetes Service.

En esta guía de inicio rápido, se usa la CLI de Azure para implementar un contenedor de helloworld con contenedores de acceso puntual. Unos pocos segundos después de ejecutar un comando de implementación único, puede ir al registro de contenedores:

  • Para realizar este inicio rápido es necesaria la versión 2xxx o posterior de la CLI de Azure. Si usa Azure Cloud Shell, ya está instalada la versión más reciente.

Crear un grupo de recursos

Las instancias de contenedores de Azure, al igual que otros recursos de Azure, se deben implementar en un grupo de recursos. Los grupos de recursos le permiten organizar y administrar los recursos relacionados de Azure.

En primer lugar, cree un grupo de recursos denominado myResourceGroup en la ubicación westus con el siguiente comando az group create:

az group create --name myResourceGroup --location westus

Crear un contenedor

Ahora que tiene un grupo de recursos, puede ejecutar un contenedor de acceso puntual en Azure. Para crear un grupo de contenedores de acceso puntual con la CLI de Azure, proporcione un nombre de grupo de recursos, un nombre de instancia de contenedor, una imagen de contenedor y una nueva propiedad denominada “priority” con el valor de “acceso puntual” al comando az container create. En este inicio rápido, usará la imagen mcr.microsoft.com/azuredocs/aci-helloworld pública. Esta imagen empaqueta una pequeña aplicación web escrita en Node.js que sirve una página HTML estática.

Puede exponer los contenedores de acceso puntual en Internet mediante la especificación para que se abran uno o varios puertos, o la especificación de una etiqueta de nombre DNS o ambas. En este inicio rápido, implementará un contenedor mediante una imagen helloworld sin una etiqueta de nombre DNS. No es accesible públicamente. Puede consultar los registros de contenedor para comprobar que el contenedor está escuchando en el puerto predeterminado 80.

Ejecute un comando similar al siguiente para iniciar una instancia de contenedor.

az container create --resource-group acispotdemo --name acispotclitest --image mcr.microsoft.com/azuredocs/aci-helloworld --priority spot

En unos segundos, debería recibir una respuesta de la CLI de Azure que indica que la implementación finalizó. Compruebe su estado con el comando az container show:

az container show --resource-group acispotdemo --name acispotclitest --query "{ProvisioningState:provisioningState}" --out table

Al ejecutar el comando, se muestra el nombre completo del dominio (FQDN) y su estado de aprovisionamiento.

ContainerGroupName                               ProvisioningState
---------------------------------  -------------------
acispotclitest                        Succeeded

Si el ProvisioningState del contenedor es Correcto, ¡enhorabuena! Ha implementado correctamente una aplicación que se ejecuta en un contenedor de Docker en Azure.

Extracción de los registros del contenedor

Cuando necesite solucionar problemas de un contenedor o de la aplicación que este ejecuta (o simplemente ver la salida), empiece por ver los registros de la instancia de contenedor.

Extraiga los registros de la instancia de contenedor con el comando az container logs:

az container logs --resource-group acispotdemo --name acispotclitest

La salida muestra los registros del contenedor y debe mostrar la salida siguiente

listening on port 80

Flujos de salida como adjuntos

Además de ver los registros, puede asociar la salida estándar local y los flujos de error estándar a los del contenedor.

En primer lugar, ejecute el comando az container attach para asociar la consola local a los flujos de salida del contenedor:

az container attach --resource-group acispotdemo --name acispotclitest

Una vez asociados, actualice el explorador varias veces para generar algunas salidas adicionales. Cuando haya terminado, desconecte la consola con Control+C. Debería ver una salida similar al ejemplo siguiente:

Container 'acispotclitest' is in state 'Running'...
Start streaming logs:
listening on port 80

Limpieza de recursos

Cuando haya terminado con el contenedor, puede eliminarlo con el comando az container delete:

az container delete --resource-group acispotdemo --name acispotclitest

Para comprobar que se eliminó el contenedor, ejecute el comando az container list:

az container list --resource-group acispotdemo --output table

El contenedor acispotclitest no debe aparecer en la salida del comando. Si no cuenta con ningún otro contenedor en el grupo de recursos, no se muestra ninguna salida.

Si ha terminado con el grupo de recursos acispotdemo y todos los recursos que contiene, elimínelo con el comando az group delete:

az group delete --name acispotdemo

Pasos siguientes

En este tutorial, ha creado un contenedor de acceso puntual en Azure Container Instances con una directiva de cuota y expulsión predeterminadas mediante la CLI de Azure.