Administración de perfiles de carga de trabajo con la CLI de Azure
Aprenda a administrar un entorno de perfiles de carga de trabajo mediante la CLI de Azure.
Creación de una aplicación de contenedor en un perfil
De forma predeterminada, el entorno de Container Apps se crea con una red virtual administrada que se genera automáticamente. Las redes virtuales generadas son inaccesibles para usted a medida 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 comandos siguientes para crear un entorno de perfiles de carga de trabajo.
Crear una red virtual
az network vnet create \ --address-prefixes 13.0.0.0/23 \ --resource-group "<RESOURCE_GROUP>" \ --location "<LOCATION>" \ --name "<VNET_NAME>"
Cree una subred delegada en
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 del identificador y péguelo en el comando siguiente.
La
Microsoft.App/environments
delegación es necesaria para proporcionar al entorno de ejecución de Container Apps el control necesario sobre la red virtual para ejecutar perfiles de carga de trabajo en el entorno de Container Apps.Puede especificar tan pequeño como CIDR
/27
(32 DIRECCIONES IP-8 reservadas) para la subred. Si va a especificar un/27
CIDR, tenga en cuenta los siguientes elementos:Hay 11 direcciones IP reservadas para la infraestructura de Container Apps. Por lo tanto, un
/27
CIDR 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.
Creación de un entorno de perfiles de carga de trabajo
Nota:
Puede configurar si la aplicación contenedora permite la entrada pública o solo la entrada desde dentro de la red virtual en el nivel de entorno. Para restringir la entrada a solo la red virtual, establezca la
--internal-only
marca .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.
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>"
Debe
provisioningState
informarSucceeded
antes de pasar al comando siguiente.Cree una nueva aplicación de contenedor.
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 consumo integrado. Si desea crear una aplicación en un perfil dedicado, primero debe 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 <WORKLOAD_PROFILE_NAME>
marcador de posición 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 de contenedor 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 update
comando .
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:
No se puede eliminar el perfil de carga de trabajo consumo .
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 list-supported
comando 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 es similar a una tabla similar al 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 ejecutar az containerapp env workload-profile set
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>