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 VNet gerenciada que é gerada automaticamente para você. As VNets geradas ficam inacessíveis para você à medida que 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 Application Gateway
  • 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 Application Gateway
  • 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.

  1. Crie uma rede virtual.

    az network vnet create \
      --address-prefixes 13.0.0.0/23 \
      --resource-group "<RESOURCE_GROUP>" \
      --location "<LOCATION>" \
      --name "<VNET_NAME>"
    
  2. 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 Microsoft.App/environments delegação é necessária para dar ao tempo de execução de 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 Apenas consumo e Dedicado:

      Apenas consumo Dedicada
      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 sem tempo de inatividade requer o dobro dos IPs, uma vez 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.
  1. Criar ambiente de perfis de carga de trabalho

    Nota

    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>"
    

    Este comando pode levar até 10 minutos para ser concluído.

  2. Verifique o estado 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ório Succeeded antes de passar para o próximo comando.

  3. 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 implanta o aplicativo no perfil de carga de trabalho de consumo interno. 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.

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 da carga de trabalho.

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.

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>

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 é semelhante 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 a --workload-profile-type opção.

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> 

Próximos passos