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
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
Na página do recurso do Azure Kubernetes Fleet Manager, vá para o menu Atualização de vários clusters e selecione Criar.
Escolher um a um atualiza todos os clusters membros da frota em sequência, um a um.
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ó
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 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. Na guia Execuções, selecione Criar.
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.
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.
Escolha os grupos de atualização que você deseja incluir nesta etapa.
Depois de definir todos os estágios, você pode ordená-los usando os controles Mover para cima e Mover para baixo .
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ó
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.
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.
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.
Abordagem 2: Você pode navegar até Atualização de vários clusters e escolher Criar na guia Estratégia .
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:
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 .
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.
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.
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.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários