Compartilhar 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, talvez você queira 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 do Kubernetes. Você aprenderá a:

  • Identificar as versões atuais e disponíveis do Kubernetes
  • 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 do Kubernetes para a versão mais recente
  • Validar um upgrade bem-sucedido
  • 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 do AKS para a versão mais recente.
  • Atualize um cluster de carga de trabalho do AKS para uma nova versão do Kubernetes.
  • Atualize os hosts de contêiner do 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 executadas 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ó. Depois que isso for concluído com êxito, o nó antigo será desativado 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

Nos tutoriais anteriores, você aprendeu a empacotar um aplicativo em uma imagem de contêiner, carregá-lo no Registro de Contêiner do Azure e criar um cluster do 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 do 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ó funcionará se a versão de destino do Kubernetes for compatível com a versão atual do sistema operacional. Para verificar as combinações de sistema operacional e versão do Kubernetes com suporte, 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
    

    Observação

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

Atualize 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ó funcionará 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
    

Atualizar 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 da versão do Kubernetes.

O exemplo a seguir pressupõe que há 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 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

A saída de exemplo a seguir 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

Excluir o cluster

Como este tutorial é a última parte da série, talvez você queira 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óximas etapas

Neste tutorial, você atualizou o Kubernetes em um cluster do Kubernetes no AKS habilitado pelo Arc. Você aprendeu a:

  • Identificar as versões atuais e disponíveis do Kubernetes
  • 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 do Kubernetes para a versão mais recente
  • Validar um upgrade bem-sucedido

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.