Orquestre atualizações em vários clusters usando o Azure Kubernetes Fleet Manager
Os administradores de plataforma que gerenciam frotas Kubernetes com grande número de clusters geralmente têm problemas com o preparo de suas atualizações de forma segura e previsível em vários clusters. Para resolver esse problema, o Kubernetes Fleet Manager (Fleet) permite orquestrar atualizações em vários clusters usando execuções de atualização, estágios, grupos e estratégias.
Pré-requisitos
Leia a visão geral conceitual desse recurso, que fornece uma explicação de estratégias de atualização, execuções, estágios e referências de grupos neste documento.
Você deve ter um recurso de frota com um ou mais clusters de membros. Caso contrário, siga o início rápido para criar um recurso do Fleet e ingressar em clusters do Serviço Kubernetes do Azure (AKS) 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 neste artigo, precisará da CLI do Azure versão 2.53.1 ou posterior instalada. Para instalar ou atualizar, consulte Instalar a CLI do Azure.
Você também precisa da extensão CLI do
fleet
Azure, 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 um a um
Na página do recurso do Azure Kubernetes Fleet Manager, vá para 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 optar por atualizar a versão do Kubernetes e a versão da imagem do nó ou pode atualizar apenas a versão da imagem do Node.
Para a imagem do nó, as seguintes opções estão disponíveis:
- 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.
- Consistente: Como é possível para uma execução de atualização ter clusters AKS em várias regiões onde as imagens de nó mais recentes disponíveis podem ser diferentes (verifique o rastreador de liberação para obter mais informações). A execução da atualização seleciona a imagem comum mais recente em todas essas regiões para obter consistência.
Atualizar clusters em uma ordem específica
Os grupos e estágios de atualização fornecem mais controle sobre a sequência que as execuções de atualização seguem quando você atualiza os clusters. Dentro de um estágio de atualização, as atualizações são aplicadas a todos os diferentes grupos de atualização em paralelo; Dentro de um grupo de atualização, os clusters de membros são atualizados sequencialmente.
Atribuir um cluster a um grupo de atualização
Você pode atribuir um cluster de membros a um grupo de atualização específico de duas maneiras.
- Atribua ao grupo ao adicionar cluster de membros à frota. Por exemplo:
- O segundo método é atribuir um membro da frota existente a um grupo de atualização. Por exemplo:
Nota
Qualquer membro da frota só pode fazer parte de um grupo de atualização, mas um grupo de atualização pode ter vários membros da frota dentro dele. Um grupo de atualização em si não é um tipo de recurso separado. Os grupos de atualização são apenas cadeias de caracteres que representam referências dos membros da frota. Assim, se todos os membros da frota com referências a um grupo de atualização comum forem excluídos, esse grupo de atualização específico também deixará de existir.
Definir uma execução de atualização 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 para diferentes grupos de atualização. Por exemplo, um primeiro estágio de atualização pode atualizar clusters de membros do ambiente de teste e um segundo estágio de atualização atualiza subsequentemente os clusters de membros do ambiente de produção. Você também pode especificar um tempo de espera entre os estágios de atualização.
Na página do recurso do Azure Kubernetes Fleet Manager, navegue até Atualização de vários clusters e selecione Criar.
Selecione Estágios 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 Estágios, selecione Criar palco. Agora você pode especificar o nome do estágio e a duração a aguardar após cada estágio.
Escolha os grupos de atualização que você deseja incluir nesta etapa.
Depois de definir todos os estágios e ordená-los 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 de atualização usando estratégias de atualização
Na seção anterior, a criação de uma execução de atualização exigia que os estágios, grupos e sua ordem fossem especificados a cada vez. As estratégias de atualização simplificam isso, permitindo que você armazene modelos para execuções de atualização.
Nota
É possível criar várias execuções de atualização com nomes exclusivos da mesma estratégia de atualização.
Ao criar suas execuções de atualização, você recebe uma opção para criar uma estratégia de atualização ao mesmo tempo, salvando efetivamente a execução como um modelo para execuções de atualização subsequentes.