Etiquetas de implementação em Azure Container Apps

Os rótulos de implementação ajudam-no a atribuir nomes significativos, como dev, staging ou prod, a revisões específicas de contentores. Ao aplicar estes nomes, simplifica a gestão de cenários complexos de implementação e de ambiente.

Ao usar rótulos de implementação, pode:

  • Atribua etiquetas claras e descritivas às revisões.
  • Atribuir automaticamente novas revisões aos rótulos para gestão de roteamento e tráfego.
  • Encaminhe o tráfego com base nos rótulos em vez de alterar os nomes das revisões.
  • Promover ou rebaixar revisões atribuindo novamente etiquetas.
  • Reverta para revisões anteriores usando o histórico de etiquetas.

Importante

Antes de poderes usar etiquetas de deployment, tens de seguir os passos para ativar primeiro as etiquetas de deployment no portal da tua app container.

Principais características

Os rótulos de implementação permitem-lhe criar estratégias sofisticadas de implementação mantendo o controlo sobre o ciclo de vida da sua aplicação, utilizando as seguintes funcionalidades:

  • Atribuição de rótulos: Criar e atribuir rótulos significativos a revisões de contentores, facilitando a gestão de ambientes como desenvolvimento, staging e produção.

  • Divisão de tráfego & Testes A/B: Suporte para divisão de tráfego, reversão sem supervisão e testes A/B permite a implementação gradual e os testes de novas funcionalidades.

  • Lançamentos de preparação e substituição automática: A ativação automática de revisões permite-lhe criar novas revisões facilmente e atribuí-las a rótulos novos ou existentes para receber tráfego. Quaisquer revisões que não são mais referenciadas por um rótulo são automaticamente encerradas.

Utilizar etiquetas de implementação

Por defeito, as etiquetas de implementação não estão disponíveis para a tua aplicação de contentores. Para ativar os rótulos de implementação, siga estes passos no portal Azure:

  1. Abra seu aplicativo de contêiner no portal do Azure.

  2. No menu, na secção Aplicação , selecione Revisões e réplicas.

  3. Selecione o modo de desdobramento.

  4. Selecione a coluna de etiquetas de implantação .

  5. Selecione Aplicar.

Crie um novo rótulo

Crie novas etiquetas no portal com base nas etiquetas existentes. Por padrão, o Container Apps cria o seu primeiro rótulo chamado label-1. Quando cria rótulos através do CLI ou Bicep, pode associá-los a qualquer revisão existente ou a uma nova revisão.

  1. Abra seu aplicativo de contêiner no portal do Azure.

  2. No menu, na secção Aplicação , selecione Etiquetas.

  3. Selecionar Nova etiqueta.

  4. Selecione a etiqueta existente em que quer basear a sua nova etiqueta.

  5. Introduza o novo nome da etiqueta na caixa de texto.

  6. Selecione Duplicar.

Histórico da editora e recuos

Pode consultar o histórico completo de uma editora utilizando os seguintes passos:

  1. Abra seu aplicativo de contêiner no portal do Azure.

  2. No menu, em Aplicação, selecione Etiquetas.

  3. Selecione Mostrar histórico para a etiqueta que lhe interessa.

Use a opção Mostrar histórico para qualquer etiqueta para:

  • Analise o histórico de revisões da etiqueta.
  • Recuar para uma revisão anterior apontando a etiqueta para outra revisão do contentor.

Utilizar etiquetas de implementação

Para ativar etiquetas de implementação, siga estes passos na CLI do Azure:

  1. Abre o teu terminal.

  2. Crie as seguintes variáveis de ambiente.

     CONTAINER_APP_NAME="my-container-app"
     CONTAINER_APP_IMAGE="mcr.microsoft.com/k8se/quickstart:latest"
     LOCATION="centralus"
     RESOURCE_GROUP="my-container-apps-rg"
     ENVIRONMENT_NAME="my-container-apps-env"
     TARGET_LABEL="stage"
    
  3. Use o seguinte comando para criar uma nova aplicação e uma revisão com etiqueta:

    az containerapp create \
    --name $CONTAINER_APP_NAME \
    --resource-group $RESOURCE_GROUP \
    --image $CONTAINER_APP_IMAGE \
    --environment $ENVIRONMENT_NAME \
    --location $LOCATION \
    --ingress external \
    --target-port 0 \
    --revisions-mode labels \
    --target-label $TARGET_LABEL
    
  4. Para criar uma nova revisão com um rótulo novo ou existente, use o seguinte comando:

    az containerapp update \
    --name $CONTAINER_APP_NAME \
    --resource-group $RESOURCE_GROUP \
    --image $CONTAINER_APP_IMAGE \
    --target-label $TARGET_LABEL
    
  5. Para mostrar o histórico das etiquetas, use o seguinte comando:

    az containerapp label-history show \
    --name $CONTAINER_APP_NAME \
    --resource-group $RESOURCE_GROUP \
    --label $TARGET_LABEL
    
  6. Para mostrar o tráfego da app de etiquetas, use o seguinte comando:

    az containerapp ingress traffic show \
    --name $CONTAINER_APP_NAME \
    --resource-group $RESOURCE_GROUP \
    
  7. Para adicionar um rótulo a uma revisão, use os seguintes comandos:

    az containerapp revision label add \
    --name $CONTAINER_APP_NAME \
    --resource-group $RESOURCE_GROUP \
    --revision $REVISION_NAME \
    --label $TARGET_LABEL
    
  8. Para remover um rótulo de uma revisão, use os seguintes comandos:

    az containerapp revision label remove \
    --name $CONTAINER_APP_NAME \
    --resource-group $RESOURCE_GROUP \
    --label $TARGET_LABEL
    

Cenários suportados

  • Implementações azul-verde: Gerir facilmente as implementações azul-verde, rotulando e alternando entre revisões. Esta abordagem oferece uma forma simples de lidar com trocas completas de ambiente.

  • Testes A/B: Direcione uma percentagem do tráfego para diferentes revisões para testes de funcionalidades. Esta prática permite-lhe validar novas funcionalidades com um subconjunto de utilizadores antes da implementação completa.

  • Implementações faseadas: Aumentar gradualmente o tráfego para uma nova revisão ajustando as percentagens de tráfego.

  • Isolamento do ambiente: Use etiquetas para manter ambientes separados de desenvolvimento, staging e produção. Cada ambiente pode ser atualizado de forma independente, mantendo um caminho claro de promoção.

Exemplo de fluxo de trabalho

Aqui está um fluxo de trabalho típico usando etiquetas de implantação:

  1. Crie etiquetas iniciais: Crie etiquetas como "teste" e "produção" apontando para a mesma revisão inicialmente.

  2. Atualize um rótulo: Selecione um rótulo (por exemplo, "estágio") para o atualizar com novos contentores, escalabilidade ou definições de volume.

  3. Teste as alterações: Com a nova revisão implementada, encaminhe uma parte do tráfego para a etiqueta atualizada.

  4. Promover alterações: Quando estiver confiante na revisão da produção, atualize o rótulo de produção para apontar para a mesma revisão.

  5. Monitorizar e reverter se necessário: Se surgirem problemas, use o histórico de etiquetas para reverter para uma versão anterior.

Etiquetas de revisão