Orquestrar atualizações em vários clusters usando o Gerenciador de Frota de Kubernetes do Azure
Os administradores da plataforma que gerenciam as frotas do Kubernetes com um grande número de clusters geralmente têm problemas com o preparo de suas atualizações de maneira segura e previsível em vários clusters. Para resolver esse problema, o Gerenciador de Frota de Kubernetes (Frota) permite orquestrar atualizações em vários clusters usando execuções, fases, grupos e estratégias de atualização.
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 referências de grupos nesse documento.
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. Este passo a passo demonstra um recurso de frota com cinco clusters membros do AKS como exemplo.
Defina as seguintes variáveis de ambiente:
export GROUP=<resource-group> export FLEET=<fleet-name>
Se você estiver seguindo as instruções da CLI do Azure nesta página, precisará da CLI do Azure versão 2.53.1 ou posterior 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 seguinte comando para atualizar para a versão mais recente da extensão lançada:
az extension update --name fleet
Atualizar todos os clusters individualmente
Na página do recurso do Gerenciador de Frota de Kubernetes do Azure, acesse o menu Atualização de vários clusters e selecione Criar.
Você pode escolher Um por um ou Estágios.
Para o escopo de atualização, você pode escolher atualizar a versão do Kubernetes e a versão de imagem do nó ou você pode atualizar somente sua versão da imagem do nó.
Para a imagem do nó, as seguintes opções estão disponíveis:
- Última: atualiza todos os clusters do AKS na execução da atualização para a imagem mais recente disponível para esse cluster em sua região.
- 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.
Clusters de atualização em uma ordem específica
Os grupos e fases de atualização fornecem mais controle sobre a sequência que as execuções de atualização seguem quando você está atualizando os clusters. Em um estágio de atualização, as atualizações são aplicadas a todos os diferentes grupos de atualização em paralelo. Em um grupo de atualização, os clusters membros são atualizados sequencialmente.
Atribuir um cluster a um grupo de atualizações
Você pode atribuir um cluster membro a um grupo de atualizações específico de duas maneiras.
- Atribua ao grupo ao adicionar o cluster membro à frota. Por exemplo:
- O segundo método é atribuir um membro da frota existente a um grupo de atualizações. Por exemplo:
Observação
Qualquer membro da frota só pode fazer parte de um grupo de atualizações, mas um grupo de atualizações pode ter vários membros da frota dentro dele. Um grupo de atualizações em si não é um tipo de recurso separado. Os grupos de atualizações são apenas cadeias de caracteres que representam referências dos membros da frota. Portanto, se todos os membros da frota que têm referências a um grupo de atualizações comum forem excluídos, esse grupo de atualizações específico também deixará de existir.
Definir a execução de uma atualização e fases
Você pode definir uma execução de atualização usando estágios de atualização para ordenar sequencialmente a aplicação de atualizações para diferentes grupos de atualização. Por exemplo, um primeiro estágio de atualização pode atualizar os clusters membros do ambiente de teste e um segundo estágio de atualização atualizaria posteriormente os clusters membros do ambiente de produção. Você também pode especificar um tempo de espera entre as fases da atualização.
Na página do recurso do Gerenciador de Frota de Kubernetes do Azure, navegue até o menu Atualização de vários clusters e selecione Criar.
Selecione Fases e, em seguida, escolha Imagem do nó (mais recente) + versão do Kubernetes ou Imagem do Nó (mais recente), dependendo do escopo de atualização desejado.
Em Fases, selecione Criar Fase. Agora você pode especificar o nome da fase e a duração a ser aguardada após cada fase.
Escolha os grupos de atualizações que você deseja incluir nessa fase.
Depois de definir todas as fases e solicitá-las usando os controles Mover para cima e Mover para baixo, prossiga com a criação da execução da atualização.
No menu Atualização de vários clusters, escolha a execução da atualização e selecione Iniciar.
Criar uma execução da atualização usando estratégias de atualização
Na seção anterior, a criação de uma execução da atualização exigia que as fases, grupos e sua respectiva ordem sempre fossem especificados. As estratégias de atualização simplificam isso permitindo que você armazene modelos para 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.
Ao criar suas execuções da atualização, você recebe uma opção para criar uma estratégia de atualização ao mesmo tempo, salvando de forma eficaz a execução como um modelo para execuções da atualização subsequentes.