Compartir a través de


Implementación de Azure Container Apps con el comando az containerapp up

El az containerapp up comando (o up) es la manera más rápida de implementar una aplicación en Azure Container Apps desde una imagen existente, un código fuente local o un repositorio de GitHub. Al usar este único comando, puede hacer que la aplicación contenedora esté en funcionamiento en cuestión de minutos.

El comando puede compilar e insertar una imagen de contenedor en Azure Container Registry al proporcionar código fuente local o un repositorio de GitHub. Al trabajar desde un repositorio de GitHub, el comando crea un flujo de trabajo de Acciones de GitHub que compila e inserta automáticamente una nueva imagen de contenedor al confirmar los cambios en el repositorio de GitHub.

En este artículo se muestra cómo usar el comando para implementar una aplicación contenedora desde una imagen existente, código fuente local y un repositorio de GitHub.

Requisitos previos

Requisito Instructions
Una cuenta de Azure Si no tiene ninguna cuenta, cree una gratuita. La suscripción de Azure debe tener el rol Colaborador o Propietario . Para obtener información detallada, consulte Asignación de roles de Azure mediante Azure Portal.
La CLI de Azure Instale la CLI de Azure.
Una cuenta de GitHub Si desea usar una imagen en un repositorio de GitHub, regístrese para obtener una cuenta gratuita de GitHub.
Código fuente local Si desea crear una imagen a partir del código fuente local, coloque el código en un directorio local.
Una imagen existente Si desea usar una imagen existente, anote el servidor del Registro, el nombre de la imagen y la etiqueta. Si usa un registro privado, anote también sus credenciales.

Uso de recursos existentes

El up comando puede crear recursos o puede usar los existentes, entre los que se incluyen:

  • Un grupo de recursos.
  • Container Registry.
  • Un entorno de Container Apps y un área de trabajo de Log Analytics.
  • La aplicación contenedora.

Si necesita personalizar el entorno de Container Apps, use primero el az containerapp env create comando para crear y personalizar el entorno. Cuando ejecute el up comando, use la --environment opción para especificar el entorno personalizado.

Si no especifica un entorno existente, el comando up busca uno en su grupo de recursos. Si el comando encuentra un entorno, usa ese entorno. Si el comando no encuentra un entorno, crea uno que incluye un área de trabajo de Log Analytics.

Para obtener más información sobre el az containerapp up comando y sus opciones, vea az containerapp up.

Configuración del entorno de la CLI de Azure

  1. Use la CLI de Azure para iniciar sesión en Azure.

    az login
    
  2. Instale la extensión Container Apps para la CLI de Azure.

    az extension add --name containerapp --upgrade
    
  3. Registre el Microsoft.App espacio de nombres.

    az provider register --namespace Microsoft.App
    
  4. Registre el Microsoft.OperationalInsights proveedor para el área de trabajo de Log Analytics.

    az provider register --namespace Microsoft.OperationalInsights
    

Implementación desde una imagen existente

Puede implementar una aplicación de contenedor que use una imagen existente en un registro de contenedor público o privado. Si implementa desde un registro privado, debe proporcionar sus credenciales mediante las opciones --registry-server, --registry-username y --registry-password.

Puede usar el código de ejemplo siguiente para implementar una aplicación contenedora desde una imagen existente. Antes de ejecutar el comando, reemplace los marcadores de posición, que se incluyen entre corchetes angulares, por sus valores.

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --image <REGISTRY_SERVER>/<IMAGE_NAME>:<TAG> \
  --ingress external \
  --target-port <PORT_NUMBER> 

Este comando realiza las siguientes acciones:

  1. Crea un grupo de recursos.
  2. Crea un entorno y un área de trabajo de Log Analytics.
  3. Crea e implementa una aplicación contenedora que extrae la imagen de un registro público.
  4. Establece el valor de ingress de la aplicación contenedora a external, con un puerto de destino configurado en el valor especificado.

También puede usar el up comando para volver a implementar una aplicación contenedora. Si desea volver a implementar con una nueva imagen, use la opción --image para especificar una nueva imagen. Asegúrese de que las opciones --resource-group y --environment se establezcan en los valores de la implementación original.

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --image <REGISTRY_SERVER>/<IMAGE_NAME>:<TAG> \
  --resource-group <RESOURCE_GROUP_NAME> \
  --environment <ENVIRONMENT_NAME> \
  --ingress external \
  --target-port <PORT_NUMBER> 

Implementación desde el código fuente local

Al usar el comando up para implementar desde un origen local, compila la imagen de contenedor, la inserta en un registro e implementa la aplicación contenedora. Si no especifica un registro, el comando crea uno en Container Registry.

El comando puede compilar la imagen con o sin un Dockerfile. En las compilaciones que no usan un Dockerfile, se admiten los siguientes lenguajes:

  • .NET
  • Node.js
  • PHP
  • Python

Puede usar el código de ejemplo siguiente para implementar una aplicación de contenedor desde el código fuente local:

    az containerapp up \
      --name <CONTAINER_APP_NAME> \
      --source <SOURCE_DIRECTORY>\
      --ingress external 

Este comando realiza las siguientes acciones:

  1. Crea un grupo de recursos.
  2. Crea un entorno y un área de trabajo de Log Analytics.
  3. Crea un registro en Container Registry.
  4. Compila la imagen de contenedor (mediante el Dockerfile si existe).
  5. Inserta la imagen en el registro.
  6. Crea e implementa la aplicación contenedora.

Cuando dockerfile incluye la EXPOSE instrucción , el up comando configura el puerto de entrada y destino de la aplicación contenedora mediante la información del Dockerfile. Si configura la entrada a través del Dockerfile o la aplicación no requiere entrada, puede omitir la opción --ingress.

La salida del comando anterior incluye la dirección URL pública de la aplicación contenedora.

Si el comando informa de que está esperando al agente de compilación en la nube pero deja de responder, un error transitorio de GitHub podría ser el origen del problema. Para resolver la situación, vuelva a ejecutar el comando.

Si se produce un error, puede volver a ejecutar el comando con la --debug opción para obtener más información. Si se produce un error en la compilación sin un Dockerfile, puede intentar agregar un Dockerfile y volver a ejecutar el comando.

Para usar el comando az containerapp up para volver a implementar su aplicación en contenedor con una imagen actualizada, incluya las opciones --resource-group y --environment. Para volver a implementar una aplicación de contenedor desde código fuente local, siga estos pasos:

  1. Realice cambios en el código fuente.

  2. Ejecute el siguiente comando:

    az containerapp up \
      --name <CONTAINER_APP_NAME> \
      --source <SOURCE_DIRECTORY> \
      --resource-group <RESOURCE_GROUP_NAME> \
      --environment <ENVIRONMENT_NAME>
    

Implementación desde un repositorio de GitHub

Cuando se usa el comando az containerapp up para realizar la implementación desde un repositorio de GitHub, se genera un flujo de trabajo de Acciones de GitHub que compila la imagen de contenedor, la inserta en un registro e implementa la aplicación contenedora. Si no especifica un registro, el comando crea uno en Container Registry.

Se requiere un Dockerfile para compilar la imagen. Cuando dockerfile incluye la EXPOSE instrucción , el comando configura el puerto de entrada y destino de la aplicación contenedora mediante la información del Dockerfile.

Puede usar el código de ejemplo siguiente para implementar una aplicación de contenedor desde un repositorio de GitHub:

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --repo <GITHUB_REPOSITORY_URL> \
  --ingress external 

Este comando realiza las siguientes acciones:

  1. Crea un grupo de recursos.
  2. Crea un entorno y un área de trabajo de Log Analytics.
  3. Crea un registro en Container Registry.
  4. Compila la imagen de contenedor mediante dockerfile.
  5. Inserta la imagen en el registro.
  6. Crea e implementa la aplicación contenedora.
  7. Crea un flujo de trabajo de Acciones de GitHub para compilar la imagen de contenedor e implementar la aplicación contenedora cuando se insertan cambios futuros en el repositorio de GitHub.

Si se produce un error en el comando porque no se puede crear una entidad de servicio, puede crear manualmente una entidad de servicio en Azure. A continuación, puede pasar información sobre él al comando:

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --repo <GITHUB_REPOSITORY_URL> \
  --service-principal-client-id "$SERVICE_PRINCIPAL_CLIENT_ID" \
  --service-principal-client-secret "$SERVICE_PRINCIPAL_CLIENT_SECRET" \
  --service-principal-tenant-id "$AZURE_TENANT_ID"
  --ingress external 

Si configura la entrada a través del Dockerfile o la aplicación no requiere entrada, puede omitir la opción --ingress.

El up comando crea un flujo de trabajo de Acciones de GitHub. Como resultado, volver a ejecutar el comando tiene el efecto no deseado de crear varios flujos de trabajo. Si quiere implementar cambios en la imagen de la aplicación, inserte los cambios en el repositorio de GitHub en lugar de volver a ejecutar el comando. El flujo de trabajo de GitHub detecta automáticamente los cambios en el repositorio y, a continuación, compila e implementa la aplicación. Para cambiar el flujo de trabajo, edite el archivo de flujo de trabajo en GitHub.

Configuración de las opciones de la aplicación de contenedor

El az containerapp up comando proporciona una manera simplificada de crear e implementar aplicaciones de contenedor que usan principalmente la configuración predeterminada. Sin embargo, después de usar el comando , debe ejecutar otros comandos de la up CLI de Azure, como los siguientes, si desea configurar opciones más avanzadas:

Si desea personalizar otras opciones de configuración para la aplicación contenedora, como la configuración de escalado o de recursos, use primero el comando para implementar la up aplicación contenedora. A continuación, use el az containerapp update comando para cambiar esta configuración. El az containerapp up comando no es una abreviatura del az containerapp update comando.

Paso siguiente