Partilhar via


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.

Captura de tela do painel do portal do Azure para um recurso de frota, mostrando versões do Kubernetes do cluster de membros e imagens de nó em uso em todos os pools de nós de clusters de membros.

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
    

Nota

A atualização executa as janelas de manutenção planejada definidas no nível do cluster 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 que foram configurados com janelas de manutenção planejadas.

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

  • Um a um: Se você não se preocupa em controlar a sequência na qual os clusters são atualizados, fornece uma abordagem simples para atualizar todos os clusters membros da frota em sequência, one-by-one um a um
  • Controlar a sequência de clusters usando grupos e estágios de atualização - Se quiser controlar a sequência na qual os clusters são atualizados, você pode estruturar clusters membros em grupos de atualização e estágios de atualização. Além disso, essa sequência pode ser armazenada como um modelo na forma de estratégia de atualização. As execuções de atualização podem ser criadas posteriormente a partir de estratégias de atualização, em vez de definir a sequência sempre que for necessário criar uma execução de atualização com base em estágios.

Atualizar todos os clusters um a um

  1. Na página do recurso do Azure Kubernetes Fleet Manager, vá para o menu Atualização de vários clusters e selecione Criar.

  2. Escolher um a um atualiza todos os clusters membros da frota em sequência, um a um.

    Captura de ecrã do painel do portal do Azure para criar execuções de atualização que atualizam clusters um a um no Azure Kubernetes Fleet Manager.

  3. Para o escopo da atualização, você pode escolher uma destas três opções:

    • Versão do Kubernetes para o plano de controle e pools de nós
    • Versão do Kubernetes apenas para o plano de controle do cluster
    • Apenas versão da imagem do nó

    Captura de ecrã do painel do portal do Azure para criar execuções de atualização. A seção de escopo de atualização é mostrada.

    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:
  1. Na página do seu recurso do Azure Kubernetes Fleet Manager, vá para Clusters de membros.

    Captura de ecrã da página do portal do Azure para clusters de membros do Azure Kubernetes Fleet Manager.

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

    Captura de ecrã da página do portal do Azure para adicionar clusters de membros ao Azure Kubernetes Fleet Manager e atribuí-los a grupos.

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

    Captura de ecrã da página do portal do Azure para atribuir clusters de membros existentes a um grupo.

  2. Especifique o nome do grupo e selecione Atribuir.

    Captura de ecrã da página do portal do Azure para clusters de membros que mostra o formulário para atualizar o grupo de um cluster de membros.

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 clusters de membros do ambiente de produção. Você também pode especificar um tempo de espera entre os estágios de atualização.

  1. Na página do recurso do Azure Kubernetes Fleet Manager, navegue até Atualização de vários clusters. Na guia Execuções, selecione Criar.

  2. Forneça um nome para a execução da atualização e, em seguida, selecione 'Estágios' para o tipo de sequência de atualização.

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

  3. Escolha Create Stage (Criar palco). Agora você pode especificar o nome do estágio e a duração a aguardar após cada estágio.

    Captura de ecrã da página do portal do Azure para criar um palco e definir o tempo de espera.

  4. Escolha os grupos de atualização que você deseja incluir nesta etapa.

    Captura de tela da página do portal do Azure para criação de estágio que mostra a seleção de grupos de atualização.

  5. Depois de definir todos os estágios, você pode ordená-los usando os controles Mover para cima e Mover para baixo .

  6. Para o escopo da atualização, você pode escolher uma destas três opções:

    • Versão do Kubernetes para o plano de controle e pools de nós
    • Versão do Kubernetes apenas para o plano de controle do cluster
    • Apenas versão da imagem do nó

    Captura de ecrã do painel do portal do Azure para criar execuções de atualização. A seção de escopo de atualização é mostrada.

    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.
  7. Clique em Criar na parte inferior da página para criar a execução da atualização. Especificar estágios e sua ordem sempre que criar uma execução de atualização pode se tornar repetitivo e complicado. As estratégias de atualização simplificam esse processo, permitindo que você armazene modelos para execuções de atualização. Para obter mais informações, consulte Criação e uso da estratégia 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 de atualização usando estratégias de atualização

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 esse processo, 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.

Criar uma estratégia de atualização: há 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 estágios de execução de atualização sendo salvos como uma estratégia de atualização.

  • Abordagem 2: Você pode navegar até Atualização de vários clusters e escolher Criar na guia Estratégia .

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

Use uma estratégia de atualização para criar uma execução de atualização: a estratégia de atualização criada pode ser referenciada posteriormente ao criar 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 'Copiar da estratégia existente' é realçado.

Gerenciar uma execução de atualização

Há algumas opções para gerenciar execuções de atualização:

  • Na guia 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 iniciado ou Falha .

    Uma captura de tela do portal do Azure mostrando como iniciar uma execução de atualização no estado 'Não iniciado'.

  • Na guia Atualização de vários clusters do recurso de frota, você pode Parar uma execução de atualização em execução no momento.

    Uma captura de tela do portal do Azure mostrando como interromper uma execução de atualização no estado 'Em execução'.

  • Em qualquer atualização executada no estado Não iniciado, Falha ou Em execução, você pode selecionar qualquer Estágio e Ignorar a atualização.

    Uma captura de tela do portal do Azure mostrando como ignorar a atualização para um estágio específico em uma execução de atualização.

    Da mesma forma, você também pode ignorar a atualização no nível do grupo de atualização ou do cluster de membros.

    Para obter mais informações, consulte Visão geral conceitual sobre os estados de execução da atualização e o comportamento de ignorar em execuções/estágios/grupos.