Tutorial: Atualizar o Kubernetes no AKS habilitado pelo Azure Arc
Artigo
Aplica-se a: AKS no Azure Local 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 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:
Para obter a versão atual do cluster de carga de trabalho, execute o seguinte comando:
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 é.
Iniciar a atualização da versão do Kubernetes
Para atualizar a versão do Kubernetes, execute o seguinte comando:
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:
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}
Para iniciar a atualização da versão do sistema operacional, execute o seguinte comando:
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.
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}
Para iniciar a atualização do cluster de carga de trabalho, execute o seguinte comando:
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