Partilhar via


Tutorial: Atualizar o Kubernetes no AKS ativado pelo Azure Arc

Aplica-se a: AKS no Azure Stack HCI 22H2, AKS no Windows Server

Como parte da gestão do ciclo de vida da aplicação e do cluster, poderá querer atualizar para a versão mais recente disponível do Kubernetes quando estiver a utilizar o AKS ativado pelo Azure Arc.

Este tutorial, parte sete de sete, descreve como atualizar um cluster do Kubernetes. Vai aprender a:

  • Identificar versões do Kubernetes atuais e disponíveis
  • Atualizar a versão do Kubernetes dos nós do Kubernetes
  • Atualizar a versão do SO dos nós do Kubernetes
  • Atualizar um cluster do Kubernetes para a versão mais recente
  • Validar uma atualização com êxito
  • Remover um cluster do Kubernetes

Quais são as opções de atualização disponíveis?

Existem vários tipos de atualizações, que podem ocorrer independentemente umas das outras e em determinadas combinações suportadas:

  • Atualize o anfitrião do AKS para a versão mais recente.
  • Atualize um cluster de cargas de trabalho do AKS para uma nova versão do Kubernetes.
  • Atualize os anfitriões de contentor do AKS para uma versão mais recente do sistema operativo.
  • Atualização combinada do sistema operativo e da versão do Kubernetes.

Todas as atualizações são efetuadas num fluxo sem interrupções para evitar interrupções na disponibilidade da carga de trabalho. Quando um novo nó de trabalho do Kubernetes com uma compilação mais recente é trazido para o cluster, os recursos são movidos do nó antigo para o novo nó. Depois de concluído com êxito, o nó antigo é desativado e removido do cluster.

Os exemplos neste tutorial partem do princípio de que o cluster de cargas de trabalho, mycluster, está atualmente na versão 1.18.8 do Kubernetes e utiliza uma versão do sistema operativo com mais de 30 dias.

Antes de começar

Nos tutoriais anteriores, aprendeu a empacotar uma aplicação numa imagem de contentor, a carregá-la para o Azure Container Registry e a criar um cluster do Kubernetes. Em seguida, implementou a aplicação no cluster. Se ainda não concluiu estes passos, comece com o Tutorial 1 – Criar imagens de contentor.

Atualizar a versão do Kubernetes de um cluster de cargas de trabalho

Tem de atualizar primeiro os módulos do PowerShell e o anfitrião do AKS antes de atualizar a versão do Kubernetes.

Importante

Atualizar um cluster de cargas de trabalho para uma versão mais recente do Kubernetes só funciona se a versão do Kubernetes de destino for suportada pela versão atual do sistema operativo. Para verificar a existência do sistema operativo suportado e das combinações de versões do Kubernetes, utilize o Get-AksHciUpdates comando .

Utilize os seguintes passos para atualizar a versão do Kubernetes:

  1. Para obter a versão atual do cluster de cargas de trabalho, execute o seguinte comando:

    Get-AksHciCluster
    
    ProvisioningState     : provisioned
    KubernetesVersion     : v1.20.7
    NodePools             : linuxnodepool
    WindowsNodeCount      : 0
    LinuxNodeCount        : 0
    ControlPlaneNodeCount : 1
    Name                  : mycluster   
    
  2. Para obter as versões do Kubernetes disponíveis, execute o seguinte comando:

    Get-AksHciKubernetesVersion
    
    OrchestratorType OrchestratorVersion OS      IsPreview
    ---------------- ------------------- --      ---------
    Kubernetes       v1.19.9             Linux       False
    Kubernetes       v1.19.11            Linux       False
    Kubernetes       v1.20.5             Linux       False
    Kubernetes       v1.20.7             Linux       False
    Kubernetes       v1.21.1             Linux       False
    Kubernetes       v1.19.9             Windows     False
    Kubernetes       v1.19.11            Windows     False
    Kubernetes       v1.20.5             Windows     False
    Kubernetes       v1.20.7             Windows     False
    Kubernetes       v1.21.1             Windows     False
    

    O resultado mostra as versões e os sistemas operativos do Kubernetes nos quais a versão está disponível. Pode ver que existem mais versões de atualização disponíveis. No entanto, ao atualizar clusters, não pode ignorar versões. Por exemplo, v1.18.xx --> v1.19.xx é permitido, mas v1.18.xx --> v1.20.xx não é.

  3. Iniciar a atualização da versão do Kubernetes

    Para atualizar a versão do Kubernetes, execute o seguinte comando:

    Update-AksHciCluster -name mycluster -kubernetesVersion v1.21.1
    

    Nota

    Este comando só atualiza os nós de cluster existentes no mycluster cluster de cargas de trabalho para a nova versão do Kubernetes.

Atualizar apenas a versão do sistema operativo

Importante

Pode atualizar um cluster de cargas de trabalho para uma versão mais recente do sistema operativo sem alterar a versão do Kubernetes, mas isso só funciona se a nova versão do sistema operativo não necessitar de uma versão diferente do Kubernetes.

Utilize os passos no exemplo seguinte para atualizar a versão do SO:

  1. Para obter atualizações do cluster de cargas de trabalho disponíveis, execute o seguinte comando:

    Get-AksHciClusterUpdates -name mycluster
    
    details                             kubernetesversion                operatingsystemversion
    -------                             -----------------                ----------------------
    This is a patch kubernetes upgrade. (i.e v1.1.X  to v1.1.Y) v1.19.9  @{mariner=April 2021; windows=April 2021}
    This is a minor kubernetes upgrade. (i.e v1.X.1 to v1.Y.1)  v1.20.5  @{mariner=April 2021; windows=April 2021}
    
  2. Para iniciar a atualização da versão do sistema operativo, execute o seguinte comando:

    Update-AksHciCluster -clusterName mycluster -kubernetesVersion v1.21.1 -operatingSystem
    

Atualizar o SO e a versão do Kubernetes

Importante

É suportada a atualização de um cluster de carga de trabalho para uma versão mais recente do sistema operativo e da versão do Kubernetes.

O exemplo seguinte pressupõe que existe uma nova versão do Kubernetes disponível e que o número da versão atual é v1.20.7.

  1. Para obter todas as atualizações do cluster de cargas de trabalho disponíveis, execute o seguinte comando:

    Get-AksHciClusterUpdates -name mycluster
    
    details                             kubernetesversion                  operatingsystemversion
    -------                             -----------------                  ----------------------
    This is a patch kubernetes upgrade. (i.e v1.1.X  to v1.1.Y) v1.19.9    @{mariner=April 2021; windows=April 2021}
    This is a minor kubernetes upgrade. (i.e v1.X.1 to v1.Y.1)  v1.20.5    @{mariner=April 2021; windows=April 2021}
    
  2. Para iniciar a atualização do cluster de cargas de trabalho, execute o seguinte comando:

    Update-AksHciCluster -name mycluster -kubernetesVersion v1.21.1
    

Validar uma atualização

Confirme que a atualização foi efetuada com êxito com o comando Get-AksHciCluster da seguinte forma:

Get-AksHciCluster -name mycluster

O resultado de exemplo seguinte mostra que o cluster executa KubernetesVersion v1.21.1:

ProvisioningState     : provisioned
KubernetesVersion     : v1.21.1
NodePools             : linuxnodepool
WindowsNodeCount      : 0
LinuxNodeCount        : 0
ControlPlaneNodeCount : 1
Name                  : mycluster

Eliminar o cluster

Como este tutorial é a última parte da série, poderá querer eliminar o cluster. Utilize o comando Remove-AksHciCluster para remover o grupo de recursos, o serviço de contentor e todos os recursos relacionados:

Remove-AksHciCluster -name mycluster

Passos seguintes

Neste tutorial, atualizou o Kubernetes num cluster do Kubernetes no AKS ativado pelo Arc. Aprendeu a:

  • Identificar versões do Kubernetes atuais e disponíveis
  • Atualizar a versão do Kubernetes dos nós do Kubernetes
  • Atualizar a versão do SO dos nós do Kubernetes
  • Atualizar um cluster do Kubernetes para a versão mais recente
  • Validar uma atualização com êxito

Para obter mais informações sobre o AKS ativado pelo Azure Arc, veja Descrição geral do AKS , clusters e cargas de trabalho.