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.

Screenshot of the Azure portal pane for a fleet resource, showing member cluster Kubernetes versions and node images in use across all node pools of member clusters.

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

  1. 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.

  2. Você pode escolher Um por um ou Estágios.

    Screenshot of the Azure portal pane for creating update runs that update clusters one by one in Azure Kubernetes Fleet Manager.

  3. 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ó.

    Screenshot of the Azure portal pane for creating update runs. The upgrade scope section is shown.

    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:
  1. Na página do recurso do Gerenciador de Frota de Kubernetes do Azure, acesse Clusters de membro.

    Screenshot of the Azure portal page for Azure Kubernetes Fleet Manager member clusters.

  2. Especifique o grupo de atualização ao qual o cluster membro deve pertencer.

    Screenshot of the Azure portal page for adding member clusters to Azure Kubernetes Fleet Manager and assigning them to groups.

  • O segundo método é atribuir um membro da frota existente a um grupo de atualizações. Por exemplo:
  1. Na página do recurso do Gerenciador de Frota de Kubernetes do Azure, navegue até Clusters de membros. Escolha os clusters membros desejados e selecione Atribuir grupo de atualizações.

    Screenshot of the Azure portal page for assigning existing member clusters to a group.

  2. Especifique o nome do grupo e selecione Atribuir.

    Screenshot of the Azure portal page for member clusters that shows the form for updating a member cluster's group.

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.

  1. 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.

  2. 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.

  3. Em Fases, selecione Criar Fase. Agora você pode especificar o nome da fase e a duração a ser aguardada após cada fase.

    Screenshot of the Azure portal page for creating a stage and defining wait time.

  4. Escolha os grupos de atualizações que você deseja incluir nessa fase.

    Screenshot of the Azure portal page for stage creation that shows the selection of upgrade groups.

  5. 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.

  6. 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.

  1. Salve uma estratégia de atualização ao criar uma execução da atualização:

    A screenshot of the Azure portal showing update run stages being saved as an update strategy.

  2. A estratégia de atualização criada posteriormente pode ser referenciada ao criar novas execuções da atualização subsequentes:

    A screenshot of the Azure portal showing the creation of a new update run. The 'Copy from existing strategy' button is highlighted.