Gerenciar perfis de carga de trabalho com a CLI do Azure
Saiba como 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 VNet gerenciada que é gerada automaticamente para você. As VNets geradas são inacessíveis para você, pois são criadas no locatário da Microsoft.
Como alternativa, você pode criar um ambiente com uma VNet personalizada se precisar de qualquer um dos seguintes recursos:
- Rotas definidas pelo usuário
- Integração com o Gateway de Aplicativo
- Grupos de segurança de rede
- Comunicação com recursos por trás de pontos de extremidade privados em sua rede virtual
Ao criar um ambiente com uma VNet personalizada, você tem controle total sobre a configuração da VNet. Essa quantidade de controle oferece a opção de implementar os seguintes recursos:
- Rotas definidas pelo usuário
- Integração com o Gateway de Aplicativo
- Grupos de segurança de rede
- Comunicação 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 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 o valor da ID e cole no próximo comando.
A delegação
Microsoft.App/environments
é necessária para dar ao runtime dos Aplicativos de Contêiner o controle necessário sobre sua VNet para executar perfis de carga de trabalho no ambiente de Aplicativos de Contêiner.Você pode especificar um CIDR
/27
(32 IPs, sendo 8 reservados) para a sub-rede. Se você quiser especificar um CIDR/27
, considere os seguintes itens:Há 11 endereços IP reservados para a infraestrutura de Aplicativos de Contêiner. Portanto, um CIDR
/27
tem um máximo de 21 endereços IP disponíveis.Os endereços IP são alocados de forma diferente entre os planos Dedicado e Somente Consumo:
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, pois a revisão antiga fica em execução até que a nova revisão seja implantada com sucesso. Cada instância (nó de 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 ambientes de perfis de carga de trabalho
Observação
Você pode configurar se o seu aplicativo de contêiner permitirá a entrada pública ou somente a entrada de dentro da sua VNet no nível do ambiente. Para restringir a entrada apenas à sua VNet, defina o sinalizador
--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>"
Esse comando pode levar até 10 minutos para ser concluído.
Verifique o status do seu ambiente. O comando a seguir relata se o ambiente foi criado com sucesso.
az containerapp env show \ --name "<ENVIRONMENT_NAME>" \ --resource-group "<RESOURCE_GROUP>"
O
provisioningState
precisa relatarSucceeded
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 precisará 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 <WORKLOAD_PROFILE_NAME>
é o 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 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>
Exclua um perfil
Use o seguinte comando 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 os perfis disponíveis em sua região e os perfis usados em um ambiente específico.
Listar perfis de carga de trabalho disponíveis
Use o comando list-supported
para listar os perfis de carga de trabalho com suporte para sua região.
O seguinte comando da CLI do Azure 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 adicionar ou atualizar perfis de carga de trabalho com os comandos az containerapp env workload-profile add
ou az containerapp env workload-profile update
para a opção --workload-profile-type
.
Mostrar um perfil de carga de trabalho
Exiba 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>