Ejercicio: Implementación de imágenes desde Azure Container Registry

Completado

Las imágenes de contenedor se pueden extraer de Azure Container Registry mediante muchas plataformas de administración de contenedores, como Azure Container Instances, Azure Kubernetes Service o Docker para Windows o Mac. En este módulo, implementará la imagen en una instancia de Azure Container Instance.

Autenticación del registro

Azure Container Registry no admite el acceso no autenticado y requiere la autenticación en todas las operaciones. Los registros admiten dos tipos de identidades:

  • Identidades de Microsoft Entra, incluidas las entidades de servicio y de usuario. El acceso a un registro con una identidad de Microsoft Entra se basa en roles, y puede asignar identidades mediante uno de estos tres roles: Lector (solo acceso de extracción), Colaborador (acceso de inserción y extracción) o Propietario (extracción, inserción y asignación de roles a otros usuarios).
  • La cuenta de administrador que se incluye con cada registro. La cuenta de administrador está deshabilitada de forma predeterminada.

Importante

La cuenta de administrador proporciona una opción rápida para probar un nuevo registro. Puede habilitar la cuenta y usar su nombre de usuario y contraseña en los flujos de trabajo y las aplicaciones que necesitan acceso. Después de confirmar que el registro funciona según lo previsto, debe deshabilitar la cuenta de administrador y usar identidades de Microsoft Entra para garantizar la seguridad del registro. No comparta las credenciales de la cuenta de administrador con otros usuarios.

Habilitación de la cuenta de administrador del registro

  1. Habilite la cuenta de administrador en el registro mediante el comando az acr update.

    az acr update --name $ACR_NAME --admin-enabled true
    
  2. Recupere el nombre de usuario y la contraseña de la cuenta de administrador mediante el comando az acr credential show. Los valores se almacenan en las ACR_USERNAME variables y ACR_PASSWORD para su uso en la sección siguiente.

    ACR_USERNAME=$(az acr credential show --name $ACR_NAME --query username --output tsv)
    ACR_PASSWORD=$(az acr credential show --name $ACR_NAME --query passwords[0].value --output tsv)
    

Implementación de un contenedor con la CLI de Azure

  1. Implemente una instancia de contenedor mediante el comando az container create. El comando usa las variables ACR_USERNAME y ACR_PASSWORD para la autenticación del registro.

    az container create \
      --resource-group learn-acr-rg \
      --name acr-tasks \
      --image $ACR_NAME.azurecr.io/helloacrtasks:v1 \
      --registry-login-server $ACR_NAME.azurecr.io \
      --ip-address Public \
      --location eastus \
      --registry-username $ACR_USERNAME \
      --registry-password $ACR_PASSWORD \
      --os-type Linux \
      --cpu 1 \
      --memory 1
    
  2. Obtenga la dirección IP de la instancia de contenedor de Azure mediante el comando az container show.

    az container show \
      --resource-group learn-acr-rg \
      --name acr-tasks \
      --query ipAddress.ip \
      --output table
    
  3. En una pestaña independiente del explorador, vaya a la dirección IP del contenedor. Si todo está configurado correctamente, debería ver la siguiente página web:

    Hello World
    Version: 25.2.1
    

    El puerto 80 se usa para que la dirección de la página web sea http://<IP_ADDRESS>.

Deshabilitación de la cuenta de administrador del Registro

Después de comprobar que la instancia de contenedor funciona según lo previsto, deshabilite la cuenta de administrador del Registro para proteger el registro.

az acr update --name $ACR_NAME --admin-enabled false