Compartilhar via


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.

Captura de tela do painel de recurso de frota no portal do Azure, mostrando as versões do Kubernetes dos clusters membros e as imagens de nó usadas em todos os pools de nós dos clusters membros.

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
    

Observação

As execuções de atualização 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.

A execução de atualização dá suporte a duas opções para a sequência na qual os clusters são atualizados:

  • Um de cada vez: se controlar a sequência na qual os clusters são atualizados não for importante para você, a opção one-by-one fornece uma abordagem simples para fazer o upgrade de todos os clusters membros da frota em sequência, um de cada vez
  • Controlar a sequência de clusters com o uso de grupos e estágios de atualização: se quiser controlar a sequência na qual os clusters são atualizados, você pode estruturar os clusters membros em grupos e estágios de atualização. Além disso, essa sequência pode ser armazenada como um modelo, na forma de uma estratégia de atualização. Mais tarde, as execuções de atualização poderão ser criadas a partir de estratégias de atualização, em vez de definir a sequência sempre que alguém precisar criar uma execução de atualização baseada em estágios.

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. A opção um de cada vez faz o upgrade de todos os clusters membros da frota em sequência, um de cada vez.

    Captura de tela do painel de criação execuções de atualização no portal do Azure, que atualizam clusters individualmente no Gerenciador de Frota de Kubernetes do Azure.

  3. Para o escopo do upgrade, você pode escolher uma dessas três opções:

    • 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ó

    Captura de tela do painel da criação de execuções de atualização no portal do Azure. A seção de escopo de atualização é mostrada.

    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.

    Captura de tela da página dos clusters membros do Gerenciador de Frota de Kubernetes do Azure no portal do Azure.

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

    Captura de tela do portal do Azure, que mostra a página de adição de clusters membros ao Gerenciador de Frota de Kubernetes e atribuí-los a grupos.

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

    Captura de tela da página de atribuição de cluster membros existentes a um grupo no portal do Azure.

  2. Especifique o nome do grupo e selecione Atribuir.

    Captura de tela da página de clusters membros no portal do Azure, mostrando a atualização de um grupo do cluster membro.

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

  1. Na página do seu recurso do Gerenciador de Frota de Kubernetes do Azure, navegue até Atualização multicluster. Na guia Execuções, selecione Criar.

  2. Forneça um nome para sua execução de atualização e selecione "Estágios" para o tipo de sequência de atualização.

    Captura de tela da página do portal do Azure para escolher o modo de estágios na execução da atualização.

  3. Escolha Criar Estágio. Agora você pode especificar o nome da fase e a duração a ser aguardada após cada fase.

    Captura de tela da página de criação de uma fase e definição do tempo de espera no portal do Azure.

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

    Captura de tela da página de criação de fase no portal do Azure, mostrando a seleção dos grupos de atualizações.

  5. Após definir todos os seus estágios, você poderá ordená-los usando os controles Mover para cima e Mover para baixo.

  6. Para o escopo do upgrade, você pode escolher uma dessas três opções:

    • 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ó

    Captura de tela do painel da criação de execuções de atualização no portal do Azure. A seção de escopo de atualização é mostrada.

    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.
  7. Clique em Criar na parte inferior da página para criar a execução da 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.

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

A criação de uma execução de atualização costumava requerer que os estágios, grupos e sua respectiva ordem fossem especificados todas as vezes. 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.

Criar uma estratégia de atualização: existem duas maneiras de criar uma estratégia de atualização:

  • Abordagem 1: você pode salvar uma estratégia de atualização ao criar uma execução de atualização.

    Uma captura de tela do portal do Azure mostrando as fases de execução de atualização sendo salvas como uma estratégia de atualização.

  • Abordagem 2: você pode navegar até Atualização multicluster e escolher Criar na guia Estratégia.

    Captura de tela do portal do Azure mostrando a criação da estratégia de atualização.

Usar uma estratégia de atualização para criar a execução de atualização: a estratégia de atualização que você criar poderá ser usada como referência posteriormente, na criação de novas execuções de atualização subsequentes:

Uma captura de tela do portal do Azure mostrando a criação de uma nova execução de atualização. O botão

Gerenciar uma execução de atualização

Existem algumas opções para gerenciar as execuções de atualização:

  • Na guia Atualização multicluster do recurso de frota, você pode Iniciar uma execução de atualização que esteja no estado Não iniciada ou Com falha.

    Captura de tela do portal do Azure mostrando como iniciar uma execução de atualização no estado

  • Na guia Atualização multicluster do recurso de frota, você pode Interromper uma execução de atualização Em execução no momento.

    Captura de tela do portal do Azure mostrando como interromper uma execução de atualização no estado

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

    Captura de tela do portal do Azure mostrando como ignorar o upgrade em um estágio específico de uma execução de atualização.

    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, confira o artigo visão geral conceitual dos estados de execução de atualizações e o comportamento ignorar em execuções/estágios/grupos.