Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aprenda a gerir perfis de carga de trabalho no seu ambiente Container Apps usando a CLI do Azure.
Criar um aplicativo de contêiner em um perfil
Por predefinição, o seu ambiente do Container Apps é criado com uma rede virtual gerida que é gerada automaticamente para si. As redes virtuais geradas estão inacessíveis para o utilizador porque foram criadas no tenant da Microsoft.
Em alternativa, pode criar um ambiente com uma rede virtual personalizada. Use esta opção se precisar de alguma das seguintes funcionalidades:
- Rotas definidas pelo usuário
- Integração com Application Gateway
- Grupos de Segurança de Rede
- Comunicação com recursos por trás de pontos finais privados na sua rede virtual
Crie um ambiente de aplicativos de contêiner.
az containerapp env create \ --resource-group "<RESOURCE_GROUP>" \ --name "<NAME>" \ --location "<LOCATION>"Este comando pode levar até 10 minutos para ser concluído.
Verifique o estado do seu ambiente. O comando seguinte informa se o ambiente é criado com sucesso.
az containerapp env show \ --name "<ENVIRONMENT_NAME>" \ --resource-group "<RESOURCE_GROUP>"O
provisioningStatetem de comunicarSucceededantes de passar ao 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"
Este comando implementa a aplicação no perfil de carga de trabalho Consumption incorporado. Se você quiser criar um aplicativo em um perfil dedicado, primeiro precisa adicionar o perfil ao ambiente.
Este comando cria o novo aplicativo no ambiente usando um perfil de carga de trabalho específico.
Quando cria um ambiente com uma rede virtual personalizada, tem controlo total sobre a configuração da rede virtual. Este controlo dá-lhe a opção de implementar as seguintes funcionalidades:
- Rotas definidas pelo usuário
- Integração com Application Gateway
- Grupos de Segurança de Rede
- Comunicação com recursos por trás de pontos de extremidade privados em sua rede virtual
Utilize os seguintes comandos para criar um ambiente de Aplicações Container.
Crie uma rede virtual.
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 ID e cole no próximo comando.
A delegação
Microsoft.App/environmentsé necessária para dar ao runtime do Container Apps o controlo necessário sobre a sua rede virtual para executar perfis de carga de trabalho no ambiente do Container Apps.Pode especificar uma sub-rede tão pequena como uma
/27CIDR (32 IPs - 8 reservados). Se vai especificar um/27CIDR, considere os seguintes itens:Há 11 endereços IP reservados para a infraestrutura de aplicativos de contêiner. Portanto, um
/27CIDR tem um máximo de 21 endereços IP disponíveis.Os endereços IP são alocados de forma diferente entre os planos apenas de 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 implementação sem indisponibilidade requer o dobro dos IPs, uma vez que a versão antiga permanece em execução até que a nova versão seja implementada com êxito. Cada instância (nó de VM) necessita de um único endereço 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.
Crie um ambiente de aplicativos de contêiner.
Nota
Pode configurar se a sua aplicação de contentores permite entrada pública ou apenas a partir da sua rede virtual ao nível do ambiente. Para restringir a entrada apenas à sua rede virtual, defina o
--internal-onlyflag.az containerapp env create \ --resource-group "<RESOURCE_GROUP>" \ --name "<NAME>" \ --location "<LOCATION>"Este comando pode levar até 10 minutos para ser concluído.
Verifique o estado do seu ambiente. O comando seguinte informa se o ambiente é criado com sucesso.
az containerapp env show \ --name "<ENVIRONMENT_NAME>" \ --resource-group "<RESOURCE_GROUP>"O
provisioningStateprecisa de comunicarSucceededantes de passares ao comando seguinte.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"
Este comando implementa a aplicação no perfil de carga de trabalho Consumption incorporado. Se você quiser criar um aplicativo em um perfil dedicado, primeiro precisa adicionar o perfil ao ambiente.
Este 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. Precisa de especificar um tipo de perfil de trabalho, conforme descrito nesta secção.
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>
Ao selecionar um perfil de carga de trabalho para adicionar, assegure a disponibilidade regional. O valor que selecionar para o marcador de posição <WORKLOAD_PROFILE_NAME> é o perfil de carga de trabalho com o nome amigável.
O uso de nomes amigáveis permite que você adicione 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.
O tipo de perfil de trabalho é específico por região, não uma única lista global codificada fixamente. O caminho de descoberta pretendido é: az containerapp env workload-profile list-supported -l <REGION>. A implementação resolve valores suportados do endpoint do template ARM para os tipos de perfis de carga de trabalho disponíveis nessa localização.
Use este comando para ver os tipos válidos de perfis de carga de trabalho para a sua região:
az containerapp env workload-profile list-supported -l <REGION>
Use um dos valores devolvidos para --workload-profile-type. Por exemplo, podes usar D4 em regiões onde esse tipo está disponível.
Tenha em mente o seguinte comportamento:
- O comando altera o valor do tipo para maiúsculo antes de o enviar.
- Se omitires
--workload-profile-name, o comando devolve o nome do perfil ao valor do tipo. - Adicionar ou atualizar perfis de carga de trabalho só funciona em ambientes que suportam perfis de carga de trabalho.
Editar perfis
Pode modificar o número mínimo e máximo de nós usados por um perfil de carga de trabalho usando o 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>
Excluir 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>
Nota
O perfil de carga de trabalho 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 suportados 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 assemelha-se a uma tabela semelhante a este exemplo:
Name Cores MemoryGiB Category
------------------------- ------- ----------- --------------------
D4 4 16 GeneralPurpose
D8 8 32 GeneralPurpose
D16 16 64 GeneralPurpose
D32 32 128 GeneralPurpose
E4 4 32 MemoryOptimized
E8 8 64 MemoryOptimized
E16 16 128 MemoryOptimized
E32 32 256 MemoryOptimized
Consumption 4 8 Consumption
Consumption-GPU-NC24-A100 24 220 Consumption-GPU-A100
Consumption-GPU-NC8as-T4 8 56 Consumption-GPU-T4
Flex 4 16 Consumption
NC24-A100 24 220 GPU-NC-A100
NC48-A100 48 440 GPU-NC-A100
NC96-A100 96 880 GPU-NC-A100
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
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>