Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As atualizações azul-verde permitem que você atualize os pools de nós do AKS ao adicionar novos nós verdes com a configuração atualizada, incluindo a versão do Kubernetes e da imagem do nó, ao pool de nós existente, enquanto os nós azuis originais continuam em execução. Essa estratégia permite testar e validar a nova configuração antes de se comprometer com a nova versão, com a capacidade de reverter rapidamente se surgirem problemas.
Este artigo explica quando usar atualizações azul-verde, como o processo funciona, opções de configuração e considerações para usar essa estratégia de atualização.
Quando usar atualizações azul-verde
Observação
Tenha em mente que as atualizações azul-verde exigem o dobro da capacidade dos nós durante o processo de atualização, o que pode levar a maiores custos e requisitos de recursos.
Considere atualizações azul-verde quando:
- Você precisa de testes granulares e verificação de cargas de trabalho em lote por lote.
- Você precisa validar as novas configurações do nó antes de alternar o tráfego de produção.
- Você deseja a capacidade de reversão instantânea sem reprovisionar nós.
- Você está atualizando cargas de trabalho de produção críticas que não podem tolerar interrupções.
- Você precisa testar a compatibilidade do aplicativo com as novas versões do Kubernetes.
Se você estiver usando um processo manual de implantação azul-verde para atualizações de pool de nós e quiser automatizar esse fluxo de trabalho, considere usar as atualizações de pool de nós azul-verde do AKS. Para obter mais informações sobre o processo manual de atualização azul-verde, consulte atualizações do pool de nós azul-verde manuais.
Quando usar atualizações contínuas padrão
Atualizações sem interrupção padrão podem ser mais apropriadas nos seguintes cenários:
- Ambientes de desenvolvimento ou teste com tolerância a tempo de inatividade.
- Implantações sensíveis a custos em que a duplicação temporária é proibitiva.
- Aplicativos simples sem estado com bom gerenciamento de interrupções.
- Ambientes com cota ou capacidade disponíveis limitadas.
Pré-requisitos
- Cota suficiente para duplicar a capacidade do pool de nós.
- CLI do Azure versão 2.64.0 ou superior. Localize sua versão usando o
az --versioncomando. Se precisar instalar ou atualizar, consulte Instalar CLI do Azure. - A extensão
aks-previewCLI do Azure instalada e atualizada para a versão mais recente. - Versão da API
2025-08-02-previewou posterior. - Autoscaler de cluster configurado (recomendado, mas não obrigatório).
Instalar a extensão aks-preview CLI do Azure
Importante
As funcionalidades em versão preliminar do AKS estão disponíveis de forma optativa e por autoatendimento. As versões prévias são fornecidas “no estado em que se encontram” e “conforme disponíveis” e são excluídas dos contratos de nível de serviço e da garantia limitada. As versões prévias do AKS são parcialmente cobertas pelo suporte ao cliente em uma base de melhor esforço. Dessa forma, esses recursos não são destinados ao uso em produção. Para obter mais informações, consulte os seguintes artigos:
- Políticas de suporte do AKS
- perguntas frequentes Suporte do Azure
Instale ou atualize a extensão aks-preview usando os comandos az extension add e az extension update.
# Install the aks-preview extension
az extension add --name aks-preview
# Update the aks-preview extension
az extension update --name aks-preview
Recursos suportados para atualizações azul-verde
Atualmente, as atualizações azul-verde dão suporte aos seguintes recursos:
- Atualizações de versão do Kubernetes
- Atualizações de imagem de node
- Pools de nós do sistema e do usuário
- Controle manual de confirmação e reversão
- Dimensionador automático de cluster
- Zonas de Disponibilidade
- PodDisruptionBudgets
- Canais de atualização automática e Janelas de Manutenção Planejada
- Gerenciador de Comunicações do AKS
Limitações e considerações de atualização azul-verde
Atualmente, as atualizações azul-verde não dão suporte aos seguintes recursos:
- Reversão automatizada
- Utilização da estratégia azul-verde para atualizações fora do Kubernetes e da versão da imagem do nó (por exemplo, rotação de certificados, atualizações de configuração do kubelet/sistema operacional, etc.)
- Pools de Máquinas Virtuais (VM)
- Configuração máxima indisponível
- Comportamento de nós não drenáveis e configuração maxBlockedNodes.
Tenha as seguintes considerações em mente ao usar atualizações azul-verde:
| Requisitos de recursos | Considerações de complexidade | Fatores de tempo |
|---|---|---|
| * Requer o dobro da capacidade do nó durante o processo de atualização, o que leva a um aumento nos custos de infraestrutura. * Você precisa de cota de computação adicional em sua assinatura do Azure para acomodar a duplicação temporária do número de nós. * Você pode encontrar limites de capacidade regionais durante os períodos de pico de uso. |
* Requer planejamento cuidadoso para cargas de trabalho com estado, a fim de garantir a consistência dos dados durante a migração. * Requer monitoramento extra para os nós azul e verde durante o período de transição. |
* Duração de atualização geral mais longa em comparação com atualizações no local. * O período de validação adiciona tempo antes do corte final. |
Fluxo de trabalho de atualização azul-verde
O processo de atualização azul-verde cria um ambiente paralelo para transições seguras entre versões do pool de nós. Você pode atualizar e comprometer-se com o novo pool verde após a validação ou atualizar e reverter para o pool azul original caso encontre problemas.
Cenário de atualização e confirmação
O diagrama a seguir ilustra o fluxo de trabalho de atualização e confirmação:
O processo de atualização e confirmação é o seguinte:
- Cordon blue nodes: os nós azuis existentes são marcados como não agendáveis.
- Adicionar nós verdes: novos nós verdes com a configuração atualizada são adicionados ao pool de nós existente.
- Operação paralela: Os nós azul e verde são executados simultaneamente no mesmo conjunto de nós.
- Migração gradual: as cargas de trabalho são progressivamente drenadas de nós azuis e reagendadas para nós verdes em lotes.
- Validar nós verdes: monitorar e testar cargas de trabalho nos novos nós durante a migração.
- Transição completa: após o período de validação final, os nós azuis são excluídos e os nós verdes se tornam primários.
Cenário de atualização e reversão
O diagrama a seguir ilustra o workflow de atualização e reversão:
O processo de atualização e reversão é o seguinte:
- Cordon blue nodes: os nós azuis existentes são marcados como não agendáveis.
- Adicionar nós verdes: novos nós verdes com a configuração atualizada são adicionados ao pool de nós existente.
- Operação paralela: Os nós azul e verde são executados simultaneamente no mesmo conjunto de nós.
- Detectar problemas: identifique problemas durante a validação em nós verdes .
- Executar rollback: desvincular nós azuis, esvaziar nós verdes e migrar cargas de trabalho de volta para nós azuis.
- Estado de restauração: os nós verdes são excluídos e o pool de nós retorna à configuração original.
Escolha sua estratégia de atualização
Ao criar ou atualizar um pool de nós do AKS, você pode especificar a estratégia de atualização (upgradeStrategy) a ser usada. As estratégias disponíveis incluem:
| Estratégia | DESCRIÇÃO |
|---|---|
Rolling (padrão) |
Atualização sem interrupção padrão em que os nós são atualizados um a um. |
BlueGreen |
Adiciona novos nós verdes com a configuração atualizada ao pool de nós existente, mantendo os nós azuis originais em execução. |
Personalizar propriedades de atualização azul-verde
Você pode personalizar as seguintes propriedades do upgrade azul-verde (NodePoolBlueGreenUpgradeSettings):
| Propriedade | DESCRIÇÃO | Valores permitidos | Valor padrão |
|---|---|---|---|
drainBatchSize |
Número ou porcentagem de nós a serem drenados em cada lote durante a atualização. A porcentagem é calculada com base no número total de nós azuis no início da atualização. Os nós fracionários são arredondados para cima. | Inteiro (por exemplo, 5) ou percentual (por exemplo, 50%).
Deve ser um valor diferente de zero. |
10% |
drainTimeoutInMinutes |
Tempo máximo (em minutos) para aguardar que os pods sejam encerrados corretamente em cada nó antes de falhar a atualização. Honra os orçamentos de interrupção do pod durante esse tempo de espera. Se excedido, a atualização falhará. | Inteiro entre 1 e 1440 (24 horas). |
30 minutos |
batchSoakDurationInMinutes |
Tempo de pausa (em minutos) entre a drenagem de lotes de nós para permitir a observação e validação. | Inteiro entre 0 e 1440 (24 horas). |
15 minutos |
finalSoakDurationInMinutes |
Tempo de espera (em minutos) após todos os nós serem drenados antes de remover os nós antigos. Fornece um período de validação final antes de se comprometer com a atualização. As operações de reversão só estão disponíveis durante este período final de imersão. Após o término desse período e a exclusão do pool azul, a reversão não será mais possível. | Inteiro entre 0 e 10080 (sete dias). |
60 minutos |
Criar um pool de nós com configurações de atualização azul-verde padrão
Crie um pool de nós com a estratégia de atualização azul-verde padrão e as configurações usando o
az aks nodepool addcomando com o--upgrade-strategyparâmetro definido comobluegreen. O exemplo a seguir cria um novo pool de nós nomeadomyNodePoolno clustermyAKSClusterdo AKS dentro do grupo de recursosmyResourceGroup:az aks nodepool add \ --name myNodePool \ --cluster-name myAKSCluster \ --resource-group myResourceGroup \ --upgrade-strategy bluegreen
Crie um pool de nós com configurações personalizadas de atualização azul-verde
Crie um pool de nós com configurações personalizadas de atualização azul-verde usando o comando
az aks nodepool addcom o parâmetro--upgrade-strategydefinido comobluegreene defina as configurações de atualização azul-verde personalizadas desejadas. O exemplo a seguir cria um novo pool de nós nomeadomyNodePoolno cluster do AKSmyAKSClusterdentro do grupomyResourceGroupde recursos, com configurações personalizadas de atualização azul-verde:az aks nodepool add \ --name myNodePool \ --cluster-name myAKSCluster \ --resource-group myResourceGroup \ --upgrade-strategy bluegreen \ --drain-timeout-bg 5 \ --batch-soak-duration 5 \ --drain-batch-size 50% \ --final-soak-duration 180
Iniciar uma atualização azul-verde para um pool de nós existente
Importante
Ao retomar uma atualização pausada, você pode atualizar as configurações azul-verde, mas não pode alterar a estratégia de atualização ou a versão do Kubernetes.
Inicie uma atualização azul-verde para um pool de nós existente usando o comando
az aks nodepool upgradecom o parâmetro--kubernetes-versiondefinido para a versão desejada. Você pode iniciar uma atualização azul-verde para um pool de nós que já esteja usando a estratégia azul-verde ou para um pool de nós que ainda não tenha sido configurado com a estratégia azul-verde. Os exemplos a seguir demonstram ambos os cenários:# Start a blue-green upgrade for an existing node pool already using blue-green strategy az aks nodepool upgrade \ --name myNodePool \ --cluster-name myAKSCluster \ --resource-group myResourceGroup \ --kubernetes-version <kubernetes-version> # Start a blue-green upgrade for an existing node pool not yet using blue-green strategy az aks nodepool upgrade \ --name myNodePool \ --cluster-name myAKSCluster \ --resource-group myResourceGroup \ --kubernetes-version <kubernetes-version> \ --upgrade-strategy bluegreen
Pausar ou cancelar uma atualização azul-verde
Pause ou cancele uma atualização azul-verde em andamento usando o comando
az aks nodepool operation-abort. O exemplo a seguir pausa ou cancela a atualização azul-verde para o pool de nós nomeadomyNodePoolno cluster do AKSmyAKSClusterdentro do grupo de recursosmyResourceGroup:az aks nodepool operation-abort \ --name myNodePool \ --cluster-name myAKSCluster \ --resource-group myResourceGroup
Reverter uma implantação de atualização azul-verde
Depois que uma atualização azul-verde em andamento for cancelada, a reversão poderá ser iniciada usando o az aks nodepool rollback comando.
A reversão só está disponível durante o período de imersão final, conforme descrito na propriedade finalSoakDurationInMinutes.
O exemplo a seguir executa uma reversão da atualização azul-verde para o pool de nós nomeado myNodePool, no cluster do AKS myAKSCluster, dentro do grupo de recursos myResourceGroup.
az aks nodepool rollback \
--name myNodePool \
--cluster-name myAKSCluster \
--resource-group myResourceGroup
Perguntas frequentes (FAQs)
As atualizações azul-verde suportam a configuração maxUnavailable?
Não, a maxUnavailable configuração não é aplicável a atualizações azul-verde. Novos nós verdes são adicionados ao pool de nós existente junto com os nós azuis existentes, garantindo que todos os nós originais permaneçam disponíveis durante o processo de atualização.
As atualizações azul-verde podem ser usadas para atualizações do pool de nós além do Kubernetes e da versão da imagem do nó?
Não, a estratégia de atualização azul-verde é específica para o Kubernetes e para atualizações de versão de imagens de nós neste momento. Outras alterações, como rotação de certificado ou kubelet e alterações de configuração do sistema operacional, não podem ser executadas por meio da estratégia de atualização azul-verde.
Quais versões do Kubernetes são compatíveis com atualizações azul-verde?
As atualizações azul-verde funcionam com todas as versões do Kubernetes com suporte do AKS, incluindo versões com suporte da comunidade e LTS (Suporte de Longo Prazo), desde que você use a versão 2025-08-02-preview da API ou posterior.
Posso usar o canal de patch de segurança automático com atualizações azul-verde?
Sim, desde que a estratégia de atualização do pool de nós esteja configurada para usar azul-verde. Quando configurados, os patches de segurança seguem o processo de atualização azul-verde em vez do mecanismo de atualização sem interrupção padrão.
O que acontece com os volumes persistentes durante as atualizações azul-verde?
Os volumes persistentes permanecem acessíveis. Os pods são drenados e reprogramados com tranquilidade, mantendo seus anexos de volume.
Posso realizar atualizações azul-verde em vários conjuntos de nós simultaneamente?
Sim, diferentes conjuntos de nós podem passar por atualizações blue-green em paralelo, mas cada conjunto só pode ter uma atualização ativa. Atualmente, você não pode controlar a ordem das atualizações em vários pools.
Como as atualizações azul-esverdeadas lidam com configurações específicas de nós, como taints e rótulos?
Todas as configurações dos nós, incluindo taints, rótulos e anotações, são replicadas automaticamente para o pool verde.
Qual é o impacto do custo das atualizações azul-verde?
Você será cobrado tanto pelos nós azuis originais quanto pelos novos nós verdes durante a janela de atualização, portanto, certifique-se de planejar para a duplicação temporária de custos durante o período de transição.
O que acontece durante uma falha de capacidade?
No caso de uma falha de capacidade ao adicionar os nós verdes , a atualização falhará e os nós azuis permanecerão inalterados. Você pode repetir a atualização quando a capacidade suficiente estiver disponível ou optar por reverter.
O que acontece durante a reversão?
Se o número de nós verdes for menor ou igual ao número de nós azuis quando a reversão for iniciada, os nós verdes serão removidos e os nós azuis serão descordados e revividos para retomar a operação normal.
Conteúdo relacionado
Para saber mais sobre atualizações de pool de nós no AKS, consulte os seguintes artigos: