Partilhar via


Tutorial: Atualizar o Kubernetes no AKS habilitado pelo Azure Arc

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

Como parte do gerenciamento do ciclo de vida do aplicativo e do cluster, convém atualizar para a versão mais recente disponível do Kubernetes quando estiver usando o AKS habilitado pelo Azure Arc.

Este tutorial, parte sete de sete, descreve como atualizar um cluster Kubernetes. Saberá como:

  • 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 sistema operacional dos nós do Kubernetes
  • Atualizar um cluster 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 acontecer independentemente umas das outras e em determinadas combinações suportadas:

  • Atualize o host AKS para a versão mais recente.
  • Atualize um cluster de carga de trabalho AKS para uma nova versão do Kubernetes.
  • Atualize os hosts de contêiner AKS para uma versão mais recente do sistema operacional.
  • Atualização combinada do sistema operacional e da versão do Kubernetes.

Todas as atualizações são realizadas em um fluxo contínuo 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ó. Quando isso for concluído com êxito, o nó antigo será descomissionado e removido do cluster.

Os exemplos neste tutorial pressupõem que o cluster de carga de trabalho, mycluster, está atualmente no Kubernetes versão 1.18.8 e usa uma versão do sistema operacional com mais de 30 dias.

Antes de começar

Em tutoriais anteriores, você aprendeu como empacotar um aplicativo em uma imagem de contêiner, carregá-lo no Registro de Contêiner do Azure e criar um cluster Kubernetes. Em seguida, você implantou o aplicativo no cluster. Se você não concluiu essas etapas, comece com o Tutorial 1 – Criar imagens de contêiner.

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

Você deve atualizar os módulos do PowerShell e o host AKS primeiro, antes de atualizar a versão do Kubernetes.

Importante

A atualização de um cluster de carga de trabalho para uma versão mais recente do Kubernetes só funciona se a versão de destino do Kubernetes for suportada pela versão atual do sistema operacional. Para verificar o sistema operacional suportado e as combinações de versão do Kubernetes, use o Get-AksHciUpdates comando.

Use as seguintes etapas para atualizar a versão do Kubernetes:

  1. Para obter a versão atual do cluster de carga 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 disponíveis do Kubernetes, 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
    

    A saída mostra as versões do Kubernetes e os sistemas operacionais nos quais a versão está disponível. Você pode ver que há mais versões de atualização disponíveis. No entanto, ao atualizar clusters, você 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 atualiza apenas os nós de cluster existentes no mycluster cluster de carga de trabalho para a nova versão do Kubernetes.

Atualizar apenas a versão do sistema operacional

Importante

Você pode atualizar um cluster de carga de trabalho para uma versão mais recente do sistema operacional sem alterar a versão do Kubernetes, mas isso só funciona se a nova versão do sistema operacional não exigir uma versão diferente do Kubernetes.

Use as etapas no exemplo a seguir para atualizar a versão do sistema operacional:

  1. Para obter atualizações de cluster de carga 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 operacional, execute o seguinte comando:

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

Atualize o sistema operacional e a versão do Kubernetes

Importante

Há suporte para a atualização de um cluster de carga de trabalho para uma versão mais recente do sistema operacional e para a versão do Kubernetes.

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

  1. Para obter todas as atualizações de cluster de carga 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 carga de trabalho, execute o seguinte comando:

    Update-AksHciCluster -name mycluster -kubernetesVersion v1.21.1
    

Validar uma atualização

Confirme se a atualização foi bem-sucedida usando o comando Get-AksHciCluster da seguinte maneira:

Get-AksHciCluster -name mycluster

O exemplo de saída a seguir mostra que o cluster executa o 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, convém excluir o cluster. Use o comando Remove-AksHciCluster para remover o grupo de recursos, o serviço de contêiner e todos os recursos relacionados:

Remove-AksHciCluster -name mycluster

Próximos passos

Neste tutorial, você atualizou o Kubernetes em um cluster Kubernetes no AKS habilitado pelo Arc. Você 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 sistema operacional dos nós do Kubernetes
  • Atualizar um cluster Kubernetes para a versão mais recente
  • Validar uma atualização com êxito

Para obter mais informações sobre o AKS habilitado pelo Azure Arc, consulte a visão geral do AKS e clusters e cargas de trabalho.