Gerenciar perfis de carga de trabalho com a CLI do Azure
Aprenda a gerenciar um ambiente de perfis de carga de trabalho usando a CLI do Azure.
Criar um aplicativo de contêiner em um perfil
Por padrão, seu ambiente de Aplicativos de Contêiner é criado com uma rede virtual gerenciada que é gerada automaticamente para você. As redes virtuais geradas são inacessíveis para você à medida que são criadas no locatário da Microsoft.
Como alternativa, você pode criar um ambiente com uma rede virtual personalizada se precisar de qualquer um dos seguintes recursos:
- Rotas definidas pelo usuário
- Integração com Application Gateway
- Grupos de segurança de rede
- Comunicando-se com recursos por trás de pontos de extremidade privados em sua rede virtual
Ao criar um ambiente com uma rede virtual personalizada, você tem controle total sobre a configuração da rede virtual. Essa quantidade de controle oferece a opção de implementar os seguintes recursos:
- Rotas definidas pelo usuário
- Integração com Application Gateway
- Grupos de segurança de rede
- Comunicando-se com recursos por trás de pontos de extremidade privados em sua rede virtual
Use os comandos a seguir para criar um ambiente de perfis de carga de trabalho.
Criar uma VNet.
az network vnet create \ --address-prefixes 13.0.0.0/23 \ --resource-group "<RESOURCE_GROUP>" \ --location "<LOCATION>" \ --name "<VNET_NAME>"
Crie uma sub-rede delegada ao
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 o valor de ID e cole no próximo comando.
A
Microsoft.App/environments
delegação é necessária para dar ao tempo de execução dos Aplicativos de Contêiner o controle necessário sobre sua rede virtual para executar perfis de carga de trabalho no ambiente de Aplicativos de Contêiner.Você pode especificar tão pequeno quanto um
/27
CIDR (32 IPs-8 reservados) para a sub-rede. Se você for especificar um/27
CIDR, considere os seguintes itens:Há 11 endereços IP reservados para a infraestrutura de aplicativos de contêiner. Portanto, um CIDR tem um
/27
máximo de 21 endereços IP disponíveis.Os endereços IP são alocados de forma diferente entre os planos Somente consumo e Dedicado:
Apenas consumo Dedicado Cada réplica requer um IP. Os usuários não podem ter aplicativos com mais de 21 réplicas em todos os aplicativos. A implantação de tempo de inatividade zero requer o dobro dos IPs, já que a revisão antiga está em execução até que a nova revisão seja implantada com êxito. Cada instância (nó VM) requer um único IP. Você pode ter até 21 instâncias em todos os perfis de carga de trabalho e centenas ou mais réplicas em execução nesses perfis de carga de trabalho.
Criar ambiente de perfis de carga de trabalho
Observação
Você pode configurar se seu aplicativo de contêiner permite a entrada pública ou apenas a entrada de dentro de sua rede virtual no nível do ambiente. Para restringir a entrada apenas à sua rede virtual, defina o
--internal-only
sinalizador.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>"
Esse comando pode levar até 10 minutos para ser concluído.
Verifique o status do seu ambiente. O comando a seguir informa se o ambiente foi criado com êxito.
az containerapp env show \ --name "<ENVIRONMENT_NAME>" \ --resource-group "<RESOURCE_GROUP>"
As
provisioningState
necessidades de relatórioSucceeded
antes de passar para o próximo comando.Crie um novo aplicativo de contêiner.
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"
Esse comando implanta o aplicativo no perfil de carga de trabalho de Consumo interno. Se você quiser criar um aplicativo em um perfil dedicado, primeiro será necessário adicionar o perfil ao ambiente.
Esse comando cria o novo aplicativo no ambiente usando um perfil de carga de trabalho específico.
Adicionar perfis
Adicione um novo perfil de carga de trabalho a um ambiente 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>
O valor selecionado para o espaço reservado é o <WORKLOAD_PROFILE_NAME>
nome amigável do perfil de carga de trabalho.
O uso de nomes amigáveis permite adicionar vários perfis do mesmo tipo a um ambiente. O nome amigável é o que você usa ao implantar e manter um aplicativo de contêiner em um perfil de carga de trabalho.
Editar perfis
Você pode modificar o número mínimo e máximo de nós usados por um perfil de carga de trabalho por meio do 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>
Exclua um perfil
Use o comando a seguir para excluir um perfil de carga de trabalho.
az containerapp env workload-profile delete \
--resource-group "<RESOURCE_GROUP>" \
--name <ENVIRONMENT_NAME> \
--workload-profile-name <WORKLOAD_PROFILE_NAME>
Observação
O perfil de carga de trabalho de consumo não pode ser excluído.
Inspecionar perfis
Os comandos a seguir permitem listar perfis disponíveis em sua região e aqueles usados em um ambiente específico.
Listar perfis de carga de trabalho disponíveis
Use o list-supported
comando para listar os perfis de carga de trabalho com suporte para sua região.
O comando da CLI do Azure a seguir exibe os resultados em uma tabela.
az containerapp env workload-profile list-supported \
--location <LOCATION> \
--query "[].{Name: name, Cores: properties.cores, MemoryGiB: properties.memoryGiB, Category: properties.category}" \
-o table
A resposta se assemelha a uma tabela semelhante ao exemplo abaixo:
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
Selecione um perfil de carga de trabalho e use o campo Nome ao executar az containerapp env workload-profile set
para a opção --workload-profile-type
.
Mostrar um perfil de carga de trabalho
Exibir detalhes sobre um perfil de carga de trabalho.
az containerapp env workload-profile show \
--resource-group <RESOURCE_GROUP> \
--name <ENVIRONMENT_NAME> \
--workload-profile-name <WORKLOAD_PROFILE_NAME>