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:
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
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:
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:
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:
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.
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:
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.