Compartir vía


Administración de perfiles de carga de trabajo con la CLI de Azure

Aprenda a administrar un entorno de perfiles de carga de trabajo usando la CLI de Azure.

Creación de una aplicación contenedora en un perfil

De manera predeterminada, su entorno de Container Apps se crea con una VNET administrada que se genera automáticamente para usted. Las redes virtuales generadas no son accesibles para usted, ya que se crean en el inquilino de Microsoft.

Como alternativa, puede crear un entorno con una red virtual personalizada si necesita alguna de las siguientes características:

  • Rutas definidas por el usuario
  • Integración con Application Gateway
  • Grupos de seguridad de red
  • Comunicación con recursos detrás de puntos de conexión privados en la red virtual

Al crear un entorno con una red virtual personalizada, tiene control total sobre la configuración de la red virtual. Esta cantidad de control le ofrece la opción de implementar las siguientes características:

  • Rutas definidas por el usuario
  • Integración con Application Gateway
  • Grupos de seguridad de red
  • Comunicación con recursos detrás de puntos de conexión privados en la red virtual

Use los siguientes comandos para crear un entorno de perfiles de carga de trabajo.

  1. Crear una red virtual

    az network vnet create \
      --address-prefixes 13.0.0.0/23 \
      --resource-group "<RESOURCE_GROUP>" \
      --location "<LOCATION>" \
      --name "<VNET_NAME>"
    
  2. Cree una subred delegada para Microsoft.App/environments.

    az network vnet subnet create \
      --address-prefixes 13.0.0.0/23 \
      --delegations Microsoft.App/environments \
      --name "<SUBNET_NAME>" \
      --resource-group "<RESOURCE_GROUP>" \
      --vnet-name "<VNET_NAME>" \
      --query "id"
    

    Copie el valor Id. y péguelo en el siguiente comando.

    La delegación de Microsoft.App/environments es necesaria para dar al tiempo de ejecución de Container Apps el control necesario sobre su red virtual para ejecutar perfiles de carga de trabajo en el entorno de Container Apps.

    Puede especificar un valor tan pequeño como un /27 CIDR (32 IPs-8 reservadas) para la subred. Si va a especificar un CIDR de /27, tenga en cuenta los siguientes elementos:

    • Hay 11 direcciones IP reservadas para la infraestructura de Container Apps. Por lo tanto, un CIDR de /27 tiene un máximo de 21 direcciones IP disponibles.

    • Las direcciones IP se asignan de forma diferente entre los planes de consumo y dedicado:

      Solo consumo Dedicado
      Cada réplica requiere una dirección IP. Los usuarios no pueden tener aplicaciones con más de 21 réplicas en todas las aplicaciones. La implementación de tiempo de inactividad cero requiere duplicar las direcciones IP, ya que la revisión anterior se está ejecutando hasta que la nueva revisión se implemente correctamente. Cada instancia (nodo de máquina virtual) requiere una única dirección IP. Puede tener hasta 21 instancias en todos los perfiles de carga de trabajo y cientos o más réplicas que se ejecutan en estos perfiles de carga de trabajo.
  1. Creación de un entorno de perfiles de carga de trabajo

    Nota:

    Puede configurar si su aplicación contenedora permite la entrada pública o solo la entrada desde dentro de su red virtual a nivel de entorno. Para restringir la entrada a solo la red virtual, establezca la marca --internal-only.

    az containerapp env create \
      --enable-workload-profiles \
      --resource-group "<RESOURCE_GROUP>" \
      --name "<NAME>" \
      --location "<LOCATION>"
    
    az containerapp env create \
      --enable-workload-profiles \
      --resource-group "<RESOURCE_GROUP>" \
      --name "<NAME>" \
      --location "<LOCATION>"
    

    Este comando puede tardar hasta 10 minutos en completarse.

  2. Compruebe el estado del entorno. El siguiente comando notifica si el entorno se ha creado correctamente.

    az containerapp env show \
      --name "<ENVIRONMENT_NAME>" \
      --resource-group "<RESOURCE_GROUP>"
    

    provisioningState debe notificar Succeeded antes de pasar al comando siguiente.

  3. Cree una nueva aplicación contenedora.

    az containerapp create \
      --resource-group "<RESOURCE_GROUP>" \
      --name "<CONTAINER_APP_NAME>" \
      --target-port 80 \
      --ingress external \
      --image mcr.microsoft.com/k8se/quickstart:latest \
      --environment "<ENVIRONMENT_NAME>" \
      --workload-profile-name "Consumption"
    

    Este comando implementa la aplicación en el perfil de carga de trabajo de consumo integrado. Si quiere crear una aplicación en un perfil dedicado, primero tiene que agregar el perfil al entorno.

    Este comando crea la nueva aplicación en el entorno mediante un perfil de carga de trabajo específico.

Agregar perfiles

Agregue un nuevo perfil de carga de trabajo a un entorno existente.

az containerapp env workload-profile add \
  --resource-group <RESOURCE_GROUP> \
  --name <ENVIRONMENT_NAME> \
  --workload-profile-type <WORKLOAD_PROFILE_TYPE> \
  --workload-profile-name <WORKLOAD_PROFILE_NAME> \
  --min-nodes <MIN_NODES> \
  --max-nodes <MAX_NODES>

El valor que seleccione para el marcador de posición <WORKLOAD_PROFILE_NAME> es el nombre descriptivo del perfil de carga de trabajo.

El uso de nombres descriptivos permite agregar varios perfiles del mismo tipo a un entorno. El nombre descriptivo es lo que se usa al implementar y mantener una aplicación contenedora en un perfil de carga de trabajo.

Editar perfiles

Puede modificar el número mínimo y máximo de nodos que usa un perfil de carga de trabajo mediante el comando update.

az containerapp env workload-profile update \
  --resource-group <RESOURCE_GROUP> \
  --name <ENV_NAME> \
  --workload-profile-type <WORKLOAD_PROFILE_TYPE> \
  --workload-profile-name <WORKLOAD_PROFILE_NAME> \
  --min-nodes <MIN_NODES> \
  --max-nodes <MAX_NODES>

Eliminar un perfil

Use el siguiente comando para eliminar un perfil de carga de trabajo.

az containerapp env workload-profile delete \
  --resource-group "<RESOURCE_GROUP>" \
  --name <ENVIRONMENT_NAME> \
  --workload-profile-name <WORKLOAD_PROFILE_NAME> 

Nota:

El perfil de carga de trabajo de Consumo no se puede eliminar.

Inspección de perfiles

Los siguientes comandos le permiten enumerar los perfiles disponibles en su región y los que se usan en un entorno específico.

Enumeración de perfiles de carga de trabajo disponibles

Use el comando list-supported para enumerar los perfiles de carga de trabajo admitidos para su región.

El siguiente comando de la CLI de Azure muestra los resultados en una tabla.

az containerapp env workload-profile list-supported \
  --location <LOCATION>  \
  --query "[].{Name: name, Cores: properties.cores, MemoryGiB: properties.memoryGiB, Category: properties.category}" \
  -o table

La respuesta se asemeja a una tabla similar a la del ejemplo siguiente:

Name         Cores    MemoryGiB    Category
-----------  -------  -----------  ---------------
D4           4        16           GeneralPurpose
D8           8        32           GeneralPurpose
D16          16       64           GeneralPurpose
E4           4        32           MemoryOptimized
E8           8        64           MemoryOptimized
E16          16       128          MemoryOptimized
E32          32       256          MemoryOptimized
Consumption  4        8            Consumption

Seleccione un perfil de carga de trabajo y use el campo Nombre al añadir o actualizar perfiles de carga de trabajo con los comandos az containerapp env workload-profile add o az containerapp env workload-profile update para la opción --workload-profile-type.

Mostrar un perfil de carga de trabajo

Mostrar detalles sobre un perfil de carga de trabajo.

az containerapp env workload-profile show \
  --resource-group <RESOURCE_GROUP> \
  --name <ENVIRONMENT_NAME> \
  --workload-profile-name <WORKLOAD_PROFILE_NAME> 

Pasos siguientes