Partilhar via


Automatize atualizações de Kubernetes e imagens de nó em vários clusters usando o Azure Kubernetes Fleet Manager

Aplica-se a: ✔️ Fleet Manager ✔️ Fleet Manager com cluster de hubs

Garantir que os clusters sejam mantidos atualizados em tempo hábil e com segurança é uma das principais preocupações dos administradores de plataformas. Depois que um administrador adota as Execuções e Estratégias de Atualização do Kubernetes Fleet Manager do Azure, ele pode usar perfis de atualização automática para automatizar a execução de execuções de atualização quando novas versões de Kubernetes ou imagens de nó são lançadas.

Este artigo aborda como usar perfis de atualização automática para criar e executar automaticamente execuções de atualização quando novas versões de Kubernetes ou imagens de nó são disponibilizadas pelo AKS.

Nota

As atualizações automáticas acionadas respeitam as janelas de manutenção planejadas que você definiu 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 com janelas de manutenção planejada configuradas.

Antes de começar

  • Leia a visão geral conceitual dos perfis de atualização automática, que fornece uma explicação das configurações mencionadas neste guia.

  • Tem de ter um Gestor de Frota com um ou mais clusters de membros. Caso contrário, siga o início rápido para criar um Gestor de Frota e adicionar clusters do Serviço Kubernetes do Azure (AKS) como membros.

  • Para usar uma estratégia de atualização, configure uma usando as instruções no artigo de instruções de execução da atualização. Você precisa do identificador de recurso de estratégia de atualização para usar com um perfil de atualização automática ao usar a CLI do Azure.

Criar perfis de atualização automática

Comece concluindo estas etapas para garantir que seu ambiente esteja configurado corretamente.

  • Defina as seguintes variáveis de ambiente:

    export GROUP=<resource-group>
    export FLEET=<fleet-name>
    export AUTOUPGRADEPROFILE=<upgrade-profile-name>
    # Optional
    export STRATEGYID=<strategy-id>
    export CLUSTER=<aks-cluster-name>
    
  • Você precisa da CLI do Azure versão 2.70.0 ou posterior instalada. Para instalar ou atualizar, consulte Instalar a CLI do Azure.

  • Você também precisa da fleet extensão CLI do Azure versão 1.5.0 ou posterior, 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
    

Use o az fleet autoupgradeprofile create comando para criar perfis conforme mostrado.

Você pode criar um perfil de atualização automática desabilitado passando o --disabled argumento ao usar o create comando. Para habilitar o perfil de atualização automática, você deve reemitir o comando inteiro create e omitir o --disabled argumento.

Nota

A desativação de um perfil de atualização automática não afeta nenhuma execução de atualização in-progess, no entanto, nenhuma nova execução de atualização é gerada até que você reative o perfil.

Atualizações do canal estável do Kubernetes

Atualize para a última atualização de correção suportada do Kubernetes na versão secundária N-1, onde N é a versão secundária mais recente suportada.

Atualize os clusters de membros sequencialmente, um a um.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel Stable

Atualize os clusters de membros usando uma estratégia de atualização existente.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel Stable

Atualize os clusters de membros usando uma estratégia de atualização existente, garantindo que a mesma versão de imagem de nó seja usada em todas as regiões do Azure. Todos os clusters membros executam a mesma versão de imagem de nó.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel Stable \
  --node-image-selection Consistent

Atualize os clusters de membros usando uma estratégia de atualização existente, usando a versão de imagem de nó mais recente disponível para cada região do Azure. Os clusters de membros podem executar várias versões de imagem de nó.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel Stable \
  --node-image-selection Latest

Atualizações de versão secundária do Kubernetes de destino (visualização)

Atualize para uma versão secundária do Kubernetes especificado como alvo utilizando o parâmetro --target-kubernetes-version, fornecendo a versão no formato {versão principal}.{versão secundária} (por exemplo, 1.33). A atualização automática do Fleet atualiza automaticamente os clusters de membros para a versão de patch mais recente da versão de destino especificada quando o patch estiver disponível.

Importante

Os recursos da versão de pré-visualização do Azure Kubernetes Gestor de Frotas estão disponíveis através de um sistema de adesão por autoatendimento. As visualizações prévias são fornecidas "como estão" e "conforme disponíveis" e são excluídas dos contratos de nível de serviço e da garantia limitada. As visualizações do Azure Kubernetes Fleet Manager são parcialmente cobertas pelo suporte ao cliente numa base de melhor esforço. Como tal, estas funcionalidades não se destinam a utilização em produção.

Nota

  • Ao usar o TargetKubernetesVersion canal, você deve especificar o --target-kubernetes-version parâmetro. Para outros canais (Rapid, Stable, NodeImage), este parâmetro não é suportado.

  • O sinalizador (LTS) --long-term-support está disponível apenas ao utilizar o canal TargetKubernetesVersion. Para outros canais, esse sinalizador deve ser definido como False.

  • Não é possível definir a versão de destino do Kubernetes para uma versão futura do Kubernetes ainda não lançada pelo AKS.

  • Você só pode selecionar versões LTS do Kubernetes (N-2) para um perfil de atualização automática passando a flag --long-term-support. Para que a atualização automática da frota continue a funcionar neste cenário, deve também garantir que os clusters no processo de atualização gerado estejam todos ativados para LTS. Clusters não-LTS fazem com que a execução de atualização falhe quando o primeiro cluster não-LTS é encontrado.

Atualize automaticamente os clusters de membros para o patch mais recente do Kubernetes versão 1.33.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel TargetKubernetesVersion \
  --target-kubernetes-version "1.33"

Atualize automaticamente os clusters de membros com LTS ativado para o patch mais recente da versão secundária 1.29 do Kubernetes, que atualmente está disponível apenas via AKS LTS.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel TargetKubernetesVersion \
  --target-kubernetes-version "1.29" \
  --long-term-support

Atualizações de imagem de nó

Atualize os nós com uma imagem de máquina recém-atualizada contendo correções de segurança e correções de erros.

Atualize imagens de nó para clusters de membros, processando clusters sequencialmente, um de cada vez.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel NodeImage

Atualizar as imagens de nós para clusters de membros, processando-os através de uma estratégia de atualização existente.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel NodeImage 

Ver perfil de atualização automática

Você pode usar os az fleet autoupgradeprofile list comandos ou az fleet autoupgradeprofile show para exibir o perfil de atualização automática.

Liste todos os perfis de atualização automática de uma frota.

az fleet autoupgradeprofile list \
  --resource-group $GROUP \
  --fleet-name $FLEET

Mostrar um perfil de atualização automática específico para uma frota.

az fleet autoupgradeprofile list \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE

Excluir perfil de atualização automática

Use o az fleet autoupgradeprofile delete comando para excluir um perfil de atualização automática existente. Ser-lhe-á pedido que confirme a eliminação. Se você deseja excluir imediatamente o perfil, inclua --yes.

az fleet autoupgradeprofile delete \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE

Nota

A exclusão de um perfil de atualização automática não afeta nenhuma execução de atualização em andamento.

Criar perfis de atualização automática

  1. No portal do Azure, navegue até o recurso do Azure Kubernetes Fleet Manager.

  2. No menu de serviço, em Configurações, selecione Atualização de múltiplos clusters>Perfis de atualização automática.

  3. Selecione Criar, insira um nome para o perfil e selecione se o perfil está Habilitado ou não. Os perfis de atualização automática desativados não são acionados quando novas versões são lançadas.

  4. Selecione a sequência de atualização de Estágios ou Um por um.

    Captura de ecrã do painel do portal do Azure Kubernetes Fleet Manager Azure para criar um perfil de atualização automática que atualiza clusters utilizando uma estratégia.

  5. Selecione uma das seguintes opções para o Canal:

    • Estável - atualize clusters com patches para a versão secundária N-1 do Kubernetes geralmente disponível.
    • Rápido - atualize clusters com patches para a versão menor mais recente (N) do Kubernetes que está geralmente disponível.
    • Imagem do nó - atualize apenas a versão da imagem do nó.
    • Versão menor do Kubernetes de destino (visualização) - atualize os clusters para a versão de patch mais recente da versão menor do Kubernetes de destino especificada assim que o patch estiver disponível.

    Captura de tela do painel do portal do Azure Kubernetes Fleet Manager do Azure para criar perfil de atualização automática, definindo como a atualização é acionada.

  6. Se selecionar o canal da versão menor (pré-visualização) do Kubernetes de destino, pode escolher a versão menor do Kubernetes para usar como gatilho:

    • Permitir versões menores LTS: Permite a seleção de versões menores do Kubernetes disponíveis apenas para clusters de suporte de longo prazo (LTS) do AKS.
    • Versão secundária do Kubernetes de destino: Selecione o gatilho da versão secundária do Kubernetes. Os clusters em uma versão inferior são atualizados primeiro, e só então são aplicadas atualizações de patch.

    Captura de ecrã do painel do portal do Azure Kubernetes Fleet Manager para criar um perfil de atualização automática, definindo qual versão menor do Kubernetes usar como gatilho.

    Nota

    A opção Permitir versões menores LTS suporta apenas execuções de atualização com todos os clusters com LTS ativado. Encontrar um cluster não-LTS faz com que a execução da atualização falhe.

  7. Se selecionar o canal Estável, Rápido ou versão secundária (visualização) do Kubernetes de Destino, poderá escolher como as atualizações de imagem do nó serão aplicadas:

    • Imagem mais recente: atualiza cada cluster AKS no perfil de atualização automática para a imagem mais recente disponível para esse cluster em sua região do Azure.
    • Imagem consistente: é possível que uma atualização automática tenha clusters AKS em várias regiões do Azure onde as imagens de nó disponíveis mais recentes podem ser diferentes (verifique o rastreador de versão do AKS para obter mais informações). Selecionar essa opção garante que a atualização automática escolha a imagem comum mais recente em todas as regiões do Azure para obter consistência.

    Nota

    O canal Node image sempre usa consistente imagem.

  8. Caso tenha selecionado uma sequência de atualização usando Fases, selecione ou crie uma Estratégia.

    Captura de ecrã do painel do portal do Azure Kubernetes Fleet Manager do Azure para criar um perfil de atualização automática, selecionando a estratégia de atualização a utilizar.

  9. Selecione Criar para criar o perfil de atualização automática.

Ver perfil de atualização automática

  1. No portal do Azure, navegue até o recurso do Azure Kubernetes Fleet Manager.

  2. No menu de serviço, em Configurações, selecione Atualização de múltiplos clusters>Perfis de atualização automática.

    Captura de ecrã do painel do portal do Azure Kubernetes Fleet Manager para visualizar perfis de atualização automática disponíveis.

  3. Para visualizar sua configuração, selecione o perfil de atualização automática desejado.

    Captura de tela do painel do portal do Azure Kubernetes Fleet Manager Azure mostra a configuração de um único perfil de atualização automática.

Excluir perfil de atualização automática

  1. No portal do Azure, navegue até o recurso do Azure Kubernetes Fleet Manager.

  2. No menu de serviço, em Configurações, selecione Atualização de múltiplos clusters>Perfis de atualização automática.

    Captura de ecrã do painel do portal do Azure Kubernetes Fleet Manager para visualizar perfis de atualização automática disponíveis.

  3. Selecione o perfil desejado na lista e, em seguida, selecione Excluir para excluir o perfil.

Nota

A exclusão de um perfil de atualização automática não afeta nenhuma execução de atualização em andamento.

Validar a atualização automática

As atualizações automáticas acontecem somente quando novas imagens do Kubernetes ou do nó são disponibilizadas. Quando a atualização automática é acionada, uma execução de atualização vinculada é criada, para que você possa usar gerenciar execução de atualização para ver os resultados da atualização automática.

Você também pode verificar suas versões existentes como uma linha de base da seguinte maneira.

# Get Kubernetes version for a member cluster
az aks show \
  --resource-group $GROUP \
  --name $CLUSTER \
  --query currentKubernetesVersion
# Get NodeImage version for a member cluster
az aks show \
  --resource-group $GROUP \
  --name $CLUSTER \
  --query "agentPoolProfiles[].{name:name,mode:mode, nodeImageVersion:nodeImageVersion, osSku:osSku, osType:osType}"

Quando a execução da atualização terminar, você poderá executar novamente esses comandos e exibir as versões atualizadas que são implantadas.

Gerar uma execução de atualização a partir de um perfil de atualização automática

Quando se cria um perfil de atualização automática, pode levar algum tempo até que uma nova versão de imagem do Kubernetes ou do nó acione a atualização automática para criar e executar uma atualização.

A atualização automática permite que você gere uma nova atualização executada a qualquer momento usando o az fleet autoupgradeprofile generate-update-run comando. A execução de atualização resultante é baseada na versão atual do Kubernetes ou na versão da imagem do nó publicada pelo AKS.

Para obter mais informações sobre como criar uma atualização sob demanda executada a partir de um perfil de atualização automática, consulte gerar uma execução de atualização a partir de um perfil de atualização automática.

Próximos passos