Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Como parte do ciclo de vida do aplicativo e do cluster, convém atualizar para a versão mais recente disponível do Kubernetes. Você pode atualizar seu cluster do Serviço Kubernetes do Azure (AKS) usando a CLI do Azure, o Azure PowerShell ou o portal do Azure.
Neste tutorial, você atualiza um cluster AKS. Você aprende a:
- Identifique as versões atuais e disponíveis do Kubernetes.
- Atualize os seus nós do Kubernetes.
- Valide uma atualização bem-sucedida.
Antes de começar
Em tutoriais anteriores, você empacotou um aplicativo em uma imagem de contêiner e carregou a imagem de contêiner no Registro de Contêiner do Azure (ACR). Você também criou um cluster AKS e implantou um aplicativo nele. Se você não concluiu essas etapas e quer acompanhar, comece com o Tutorial 1 - Preparar a inscrição para o AKS.
Se estiver usando a CLI do Azure, este tutorial exigirá a CLI do Azure versão 2.34.1 ou posterior. Executar az --version para localizar a versão. Se precisar de instalar ou atualizar, consulte Install Azure CLI.
Se estiver usando o Azure PowerShell, este tutorial exigirá o Azure PowerShell versão 5.9.0 ou posterior. Executar Get-InstalledModule -Name Az para localizar a versão. Se você precisar instalar ou atualizar, consulte Instalar o Azure PowerShell.
Obter versões de cluster disponíveis
- Azure CLI
- Azure PowerShell
- portal do Azure
Antes de atualizar, verifique quais versões do Kubernetes estão disponíveis para seu cluster usando o
az aks get-upgradescomando.az aks get-upgrades --resource-group myResourceGroup --name myAKSClusterO exemplo de saída a seguir mostra a versão atual como 1.28.9 e lista as versões disponíveis em
upgrades:{ "agentPoolProfiles": null, "controlPlaneProfile": { "kubernetesVersion": "1.28.9", ... "upgrades": [ { "isPreview": null, "kubernetesVersion": "1.29.4" }, { "isPreview": null, "kubernetesVersion": "1.29.2" } ] }, ... }
Atualizar um cluster do AKS
Os nós AKS são cuidadosamente isolados e drenados para minimizar possíveis interrupções nos aplicativos em execução. Durante esse processo, o AKS executa as seguintes etapas:
- Adiciona um novo nó de buffer (ou tantos nós quantos configurados em max surge) ao cluster que executa a versão especificada do Kubernetes.
- Isola e drena um dos nós antigos para minimizar a interrupção dos aplicativos em execução. Se estiver a usar max surge, o sistema delimita e drena tantos nós ao mesmo tempo quanto o número de nós de buffer especificado.
- Quando o nó antigo está completamente esvaziado, é reinstalado para receber a nova versão e torna-se o nó de buffer para o próximo nó a ser atualizado.
- Esse processo se repete até que todos os nós no cluster tenham sido atualizados.
- No final do processo, o último nó de buffer é excluído, mantendo a contagem de nós do agente existente e o equilíbrio de zona.
Note
Se não for especificado nenhum patch, o cluster será atualizado automaticamente para o patch de disponibilidade geral mais recente da versão secundária especificada. Por exemplo, a configuração --kubernetes-version para 1.28 resulta na atualização do cluster para 1.28.9.
Para obter mais informações, consulte Atualizações de versão secundária do Kubernetes suportadas no AKS.
Você pode atualizar manualmente seu cluster ou configurar atualizações automáticas de cluster. Recomendamos que você configure atualizações automáticas de cluster para garantir que seu cluster esteja sempre executando a versão mais recente do Kubernetes.
Atualização manual do cluster
- Azure CLI
- Azure PowerShell
- portal do Azure
Atualize seu cluster usando o
az aks upgradecomando.az aks upgrade \ --resource-group myResourceGroup \ --name myAKSCluster \ --kubernetes-version KUBERNETES_VERSIONVocê será solicitado a confirmar a operação de atualização e a confirmar que deseja atualizar o plano de controle e todos os pools de nós para a versão selecionada do Kubernetes:
Are you sure you want to perform this operation? (y/N): y Since control-plane-only argument is not specified, this will upgrade the control plane AND all nodepools to version 1.29.2. Continue? (y/N): yNote
Você só pode atualizar uma versão secundária de cada vez. Por exemplo, você pode atualizar de 1.14.x para 1.15.x, mas não pode atualizar de 1.14.x para 1.16.x diretamente. Para atualizar de 1.14.x para 1.16.x, você deve primeiro atualizar de 1.14.x para 1.15.x e, em seguida, executar outra atualização de 1.15.x para 1.16.x.
A saída de exemplo a seguir mostra o resultado da atualização para 1.29.2. Observe que agora
kubernetesVersionmostra 1.29.2:{ ... "agentPoolProfiles": [ { ... "count": 3, "currentOrchestratorVersion": "1.29.2", "maxPods": 110, "name": "nodepool1", "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202405.27.0", "orchestratorVersion": "1.29.2", "osType": "Linux", "upgradeSettings": { "drainTimeoutInMinutes": null, "maxSurge": "10%", "nodeSoakDurationInMinutes": null, "undrainableNodeBehavior": null }, "vmSize": "Standard_DS2_v2", ... } ], ... "currentKubernetesVersion": "1.29.2", "dnsPrefix": "myAKSClust-myResourceGroup-19da35", "enableRbac": false, "fqdn": "myaksclust-myresourcegroup-19da35-bd54a4be.hcp.westus2.azmk8s.io", "id": "/subscriptions/<Subscription ID>/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster", "kubernetesVersion": "1.29.2", "location": "westus2", "name": "myAKSCluster", "type": "Microsoft.ContainerService/ManagedClusters" ... }
Configurar atualizações automáticas de cluster
- Azure CLI
- Azure PowerShell
- portal do Azure
Defina um canal de atualização automática no cluster usando o
az aks updatecomando com o--auto-upgrade-channelparâmetro definido comopatch.az aks update --resource-group myResourceGroup --name myAKSCluster --auto-upgrade-channel patch
Para obter mais informações, consulte Atualizar automaticamente um cluster do Serviço Kubernetes do Azure (AKS).
Atualizar imagens de nodos AKS
AKS fornece regularmente novas imagens para os nós. As imagens do nó Linux são atualizadas semanalmente e as imagens do nó do Windows são atualizadas mensalmente. Recomendamos atualizar/renovar as suas imagens de nó frequentemente para utilizar os recursos mais recentes do AKS e as atualizações de segurança. Para mais informações, consulte Atualizar as imagens dos nós no Serviço Kubernetes do Azure (AKS). Para configurar atualizações automáticas de imagem de nó, consulte Atualizar automaticamente as imagens do sistema operacional do nó de cluster do Serviço Kubernetes do Azure (AKS).
Ver os eventos de atualização
Note
Quando você atualiza seu cluster, os seguintes eventos do Kubernetes podem ocorrer nos nós:
- Surge: crie um nó de surto.
- Drenagem: Expulse as cápsulas do nó. Cada cápsula tem um tempo limite de cinco minutos para completar o despejo.
- Atualização: a atualização de um nó foi executada com sucesso ou falhou.
- Excluir: Excluir um nó de sobrecarga.
Exiba os eventos de atualização nos namespaces padrão usando o
kubectl get eventscomando.kubectl get events --field-selector source=upgraderA saída de exemplo a seguir mostra alguns dos eventos acima listados durante uma atualização:
LAST SEEN TYPE REASON OBJECT MESSAGE ... 5m Normal Drain node/aks-nodepool1-96663640-vmss000000 Draining node: aks-nodepool1-96663640-vmss000000 5m Normal Upgrade node/aks-nodepool1-96663640-vmss000000 Deleting node aks-nodepool1-96663640-vmss000000 from API server 4m Normal Upgrade node/aks-nodepool1-96663640-vmss000000 Successfully reimaged node: aks-nodepool1-96663640-vmss000000 4m Normal Upgrade node/aks-nodepool1-96663640-vmss000000 Successfully upgraded node: aks-nodepool1-96663640-vmss000000 4m Normal Drain node/aks-nodepool1-96663640-vmss000000 Draining node: aks-nodepool1-96663640-vmss000000 ...
Validar uma atualização
- Azure CLI
- Azure PowerShell
- portal do Azure
Confirme se a atualização foi bem-sucedida usando o
az aks showcomando.az aks show --resource-group myResourceGroup --name myAKSCluster --output tableA saída de exemplo a seguir mostra que o cluster AKS executa o KubernetesVersion 1.27.3:
Name Location ResourceGroup KubernetesVersion CurrentKubernetesVersion ProvisioningState Fqdn ------------ ---------- --------------- ------------------- ------------------------ ------------------- ---------------------------------------------------------------- myAKSCluster westus2 myResourceGroup 1.29.2 1.29.2 Succeeded myaksclust-myresourcegroup-19da35-bd54a4be.hcp.westus2.azmk8s.io
Eliminar o cluster
Como este tutorial é a última parte da série, convém excluir seu cluster AKS para evitar incorrer em cobranças do Azure.
- Azure CLI
- Azure PowerShell
- portal do Azure
Remova o grupo de recursos, o serviço de contêiner e todos os recursos relacionados usando o
az group deletecomando.az group delete --name myResourceGroup --yes --no-wait
Note
Quando você exclui o cluster, a entidade de serviço do Microsoft Entra usada pelo cluster AKS não é removida. Para obter passos sobre como remover o principal de serviço, consulte Considerações sobre e eliminação do principal de serviço AKS. Se você usou uma identidade gerenciada, a identidade é gerenciada pela plataforma e não exige que você provisione ou alterne nenhum segredo.
Próximos passos
Neste tutorial, você atualizou o Kubernetes em um cluster AKS. Você aprendeu a:
- Identifique as versões atuais e disponíveis do Kubernetes.
- Atualize os nós do Kubernetes.
- Valide uma atualização bem-sucedida.
Para obter mais informações sobre o AKS, consulte a visão geral do AKS. Para obter orientação sobre como criar soluções completas com o AKS, consulte o Guia de solução do AKS.