Automatizar as atualizações do Kubernetes e das imagens de nós em vários clusters usando o Gerenciador de Frota de Kubernetes do Azure (versão prévia)
Os administradores de plataforma que gerenciam um grande número de clusters geralmente têm problemas para preparar as atualizações de vários clusters (por exemplo, atualizar a imagem do sistema operacional do nó ou as versões do Kubernetes) de maneira segura e previsível. Para resolver esse desafio, o Gerenciador de Frota de Kubernetes do Azure (Frota) permite que você orquestre atualizações em vários clusters usando execuções de atualização.
As execuções de atualização consistem em estágios, grupos e estratégias e podem ser aplicadas manualmente, para atualizações únicas, ou automaticamente, para atualizações regulares em andamento usando perfis de atualização automática. Todas as execuções de atualização (manuais ou automatizadas) respeitam as janelas de manutenção do cluster membros.
Este artigo aborda como usar perfis de atualização automática para disparar automaticamente as execuções de atualização quando novas versões de imagem do Kubernetes ou do nó são disponibilizadas.
Importante
A versão prévia do recurso Gerenciador de Frota de Kubernetes do Azure está disponível com base em autoatendimento e aceitação. 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. A versão prévia do Gerenciador de Frota de Kubernetes do Azure é parcialmente coberta pelo suporte ao cliente com base no melhor esforço. Dessa forma, esses recursos não são destinados ao uso em produção.
Pré-requisitos
Leia a visão geral conceitual dos perfis de atualização automática, que fornece uma explicação das configurações referenciadas neste guia.
Você tem um recurso de frota com um ou mais clusters membros. Caso contrário, siga o início rápido para criar um recurso de Frota e ingressar clusters do AKS (Serviço de Kubernetes do Azure) como membros.
Se você quiser usar uma estratégia de atualização, deverá configurar uma usando as instruções no artigo de instruções de execução de atualização. Você precisa do identificador de recurso de estratégia de atualização para usar com um perfil de atualização automática.
Defina as seguintes variáveis de ambiente:
export GROUP=<resource-group> export FLEET=<fleet-name> export AUTOUPGRADEPROFILE=<upgrade-profile-name> # Optional export STRATEGYID=<strategy-id> export CLUSTER=<aks-cluster-name>
Você precisa ter a CLI do Azure versão 2.61.0 ou posterior instalada. Para instalar ou atualizar, confira Instalar a CLI do Azure.
Você também precisa da extensão da CLI do Azure
fleet
versão 1.3.0 ou posterior, que você pode instalar executando o seguinte comando:az extension add --name fleet
Execute o seguinte comando para atualizar para a versão mais recente da extensão lançada:
az extension update --name fleet
Observação
As execuções de atualização disparadas por atualização automática respeitam as janelas de manutenção planejadas que você configura no nível do cluster do AKS. Para obter mais informações, confira o artigo manutenção planejada em vários clusters membros, que explica como as execuções de atualização lidam com clusters membros que foram configurados com janelas de manutenção planejadas.
Criar perfis de atualização automática
No portal do Azure, navegue até o recurso do Gerenciador de Frota de Kubernetes do Azure.
No menu de serviço, em Configurações, selecione Perfis de atualização automática>Atualização de vários clusters.
Selecione Criar, insira um nome para o perfil e selecione se o perfil está habilitado ou não. Perfis de atualização automática desabilitados não são disparados quando novas versões são lançadas.
Selecione a sequência de atualização de Estágios ou Um por vez.
Selecione uma das seguintes opções para o Canal:
- Estável – atualize clusters com patches para a versão secundária do Kubernetes N-1 em disponibilidade geral.
- Rápido – atualizar clusters com patches para a versão secundária (N) mais recente (N) em disponibilidade geral.
- Imagem do nó – atualizar somente a versão da imagem do nó.
Se você selecionar o canal Estável ou Rápido, poderá escolher como as atualizações de imagem do nó são aplicadas:
- Imagem mais recente: atualiza todos os clusters do AKS no perfil de atualização automática para a imagem mais recente disponível para esse cluster em sua região do Azure.
- Imagem Consistente: é possível que uma atualização automática tenha clusters do AKS em várias regiões do Azure, em que as imagens de nó disponíveis mais recentes podem ser diferentes (confira o rastreador de versões para obter mais informações). Selecionar essa opção garante que a atualização automática escolha a imagem comum mais recente em todas as regiões do Azure para obter consistência.
Observação
O canal de Imagem do nó sempre usa uma imagem consistente.
Se você selecionou uma sequência de atualizações usando Estágios, selecione ou crie uma Estratégia.
Selecione Criar para criar o perfil de atualização automática.
Exibir o perfil de atualização automática
Excluir perfil de atualização automática
Observação
A exclusão de um perfil de atualização automática para uma execução de atualização em andamento não afetará a execução de atualização existente que continuará.
Validar a atualização automática
As atualizações automáticas ocorrerão somente quando novas imagens do Kubernetes ou do nó forem disponibilizadas. Quando a atualização automática é disparada, uma execução de atualização vinculada é criada, para que você possa usar a execução de gerenciamento de atualização para visualizar os resultados da atualização automática.
Também é possível verificar suas versões existentes como uma linha de base da maneira a seguir.
# Get Kubernetes version for a member cluster
az aks show \
--resource-group $GROUP \
--name $CLUSTER \
--query currentKubernetesVersion
# Get NodeImage version for a member cluster
az aks show \
--resource-group $GROUP \
--name $CLUSTER \
--query "agentPoolProfiles[].{name:name,mode:mode, nodeImageVersion:nodeImageVersion, osSku:osSku, osType:osType}"
Depois que as execuções de atualização forem concluídas, você poderá executar novamente esses comandos e exibir as versões atualizadas implantadas.
Azure Kubernetes Service