Atualizar o Kubernetes e as imagens de nós em vários clusters usando o Gerenciador de Frota de Kubernetes do Azure
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 forma segura e previsível. Para resolver esse desafio, o Gerenciador de Frota de Kubernetes do Azure (Fleet) permite orquestrar 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 contínuas 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 de membros.
Este guia aborda como configurar e executar manualmente as atualizações.
Pré-requisitos
Leia a visão geral conceitual desse recurso, que fornece uma explicação das estratégias de atualização, execuções, estágios e grupos mencionados neste guia.
Você deve ter um recurso de Frota com um ou mais membros de cluster. 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.
Defina as seguintes variáveis de ambiente:
export GROUP=<resource-group> export FLEET=<fleet-name> export AKS_CLUSTER_ID=<aks-cluster-resource-id>
Se estiver seguindo as instruções da CLI do Azure neste artigo, você precisará da versão 2.58.0 ou posterior da CLI do Azure instalada. Para instalar ou atualizar, confira Instalar a CLI do Azure.
Você também precisará da extensão da CLI do Azure
fleet
, que pode ser instalada executando o seguinte comando:az extension add --name fleet
Execute o comando
az extension update
para atualizar para a versão mais recente da extensão lançada:az extension update --name fleet
Criando execuções de atualização
A execução de atualização oferece suporte a duas opções para a sequência de atualização do cluster:
- Um por um: Se você não se importa em controlar a sequência de atualização do cluster,
one-by-one
oferece uma abordagem simples para atualizar todos os clusters membros da frota em sequência, um de cada vez. - Controle a sequência de clusters usando grupos e estágios de atualização: Se quiser controlar a sequência de atualização do cluster, você pode estruturar os clusters membros em grupos de atualização e estágios de atualização. Você pode armazenar essa sequência como um modelo na forma de uma estratégia de atualização. Você pode criar execuções de atualização posteriormente usando as estratégias de atualização em vez de definir a sequência sempre que precisar criar uma execução de atualização.
Observação
As execuções de atualização respeitam as janelas de manutenção planejada que você definiu no nível do cluster do AKS. Para obter mais informações, consulte manutenção planejada em vários clusters de membros, que explica como as execuções de atualização lidam com clusters de membros configurados com janelas de manutenção planejada.
Atualizar todos os clusters individualmente
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 Atualização de vários clusters>Criar uma execução.
Insira um nome para a execução da atualização e selecione Um por um para o tipo de atualização.
Selecione uma das seguintes opções para o Escopo de atualização:
- Versão do Kubernetes tanto para o plano de controle quanto para os pools de nós
- Versão do Kubernetes somente para o plano de controle do cluster
- Somente versão da imagem do nó
Selecione uma das seguintes opções para a Imagem do nó:
- Imagem mais recente: Atualiza cada cluster AKS na execução de atualização para a imagem mais recente disponível para esse cluster em sua região.
- Imagem Consistente: Como é possível para uma execução de atualização ter clusters AKS em várias regiões em que as imagens de nó disponíveis mais recentes podem ser diferentes (confira o rastreador de versões para obter mais informações). A execução de atualização escolhe a imagem comum mais recente em todas essas regiões para obter consistência.
Selecione Criar para criar a execução de atualização.
Atualizar clusters usando grupos e estágios
Você pode definir uma execução de atualização usando estágios de atualização para ordenar sequencialmente a aplicação de atualizações a diferentes grupos de atualização. Por exemplo, um primeiro estágio de atualização poderá atualizar os clusters membros do ambiente de testes e, a seguir, um segundo estágio de atualização irá atualizar os clusters membros do ambiente de produção. Você também pode especificar um tempo de espera entre as fases da atualização. Você pode armazenar essa sequência como um modelo na forma de uma estratégia de atualização.
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 Atualização de vários clusters>Criar uma execução.
Insira um nome para a execução da atualização e selecione Estágios para o tipo de sequência de atualização.
Selecione Criar estágio e digite um nome para o estágio e o tempo de espera entre os estágios.
Selecione os grupos de atualização que você deseja incluir nesta fase. Também é possível especificar a ordem dos grupos de atualização se quiser atualizá-los em uma sequência específica. Quando terminar, selecione Criar.
Selecione uma das seguintes opções para o Escopo de atualização:
- Versão do Kubernetes tanto para o plano de controle quanto para os pools de nós
- Versão do Kubernetes somente para o plano de controle do cluster
- Somente versão da imagem do nó
Selecione uma das seguintes opções para a Imagem do nó:
- Imagem mais recente: Atualiza cada cluster AKS na execução de atualização para a imagem mais recente disponível para esse cluster em sua região.
- Imagem Consistente: Como é possível para uma execução de atualização ter clusters AKS em várias regiões em que as imagens de nó disponíveis mais recentes podem ser diferentes (confira o rastreador de versões para obter mais informações). A execução de atualização escolhe a imagem comum mais recente em todas essas regiões para obter consistência.
Selecione Criar para criar a execução de atualização.
Especificar os estágios e sua ordem sempre que for preciso criar uma execução de atualização pode se tornar repetitivo e trabalhoso. As estratégias de atualização simplificam essa tarefa permitindo que você armazene modelos para as execuções da atualização. Para obter mais informações, confira criação e uso de estratégias de atualização.
No menu Atualização de vários clusters, selecione a execução de atualização e, em seguida, Iniciar.
Criar uma execução da atualização usando estratégias de atualização
A criação de uma execução de atualização exige que você especifique os estágios, os grupos, a ordem a cada vez. As estratégias de atualização simplificam essa tarefa permitindo que você armazene modelos para as execuções da atualização.
Observação
É possível criar várias execuções da atualização com nomes exclusivos da mesma estratégia de atualização.
Você pode criar uma estratégia de atualização usando um dos seguintes métodos:
- Crie uma nova estratégia de atualização e faça referência a ela ao criar uma execução de atualização.
- Salve uma estratégia de atualização ao criar uma execução de atualização usando o portal do Azure.
Salve uma estratégia de atualização ao criar uma execução da atualização
Salve uma estratégia de atualização durante a criação de uma execução de atualização no portal do Azure:
Gerenciar uma execução de atualização
As seções a seguir explicam como gerenciar uma execução de atualização usando o portal do Azure e a CLI do Azure.
Na página Atualização de vários clusters do recurso de frota, você pode Iniciar uma execução de atualização que esteja no estado Não iniciada ou Com falha:
Na página Atualização de vários clusters do recurso de frota, você pode Parar uma execução de atualização atualmente Em execução:
Em qualquer execução de atualização nos estados Não iniciada, Com falha ou Em execução, você pode selecionar qualquer Estágio e Ignorar o upgrade:
Da mesma forma, você também pode ignorar o upgrade no nível de grupo de atualizações ou de cluster de membros.
Para obter mais informações, consulte a visão geral conceitual sobre os estados de execução de atualização e o comportamento de ignorar em execuções/estágios/grupos.
Próximas etapas
Azure Kubernetes Service