如何升级Azure Kubernetes群集版本

时间:2022-01-15 00:58:36

前面和大家提到,Azure Kubernetes 群集生命周期管理的很重要的一部分涉及到定期将AKS集群升级到最新的 Kubernetes 版本。通过集群版本的升级,我们可以获得最新安全版本的AKS集群和最新的服务功能。接下来我们会给大家介绍如何检查、配置升级,以及如何将升级应用到 AKS 群集。

一般情况下,作为订阅的管理员,您应该会定期的收到由Azure发来的提醒邮件,提示“请将您的AKS集群升级到受支持的Kubernetes版本”,具体如下图所示:

如何升级Azure Kubernetes群集版本

当我们收到邮件以后就需要检查是否有可用的 AKS 群集升级。

若要检查哪些 Kubernetes 版本可用于群集,可以使用 az aks get-upgrades 命令。 下面的示例会检查 myResourceGroup 中到 myAKSCluster 的可用升级 :

az aks get-upgrades --resource-group myResourceGroup --name myAKSCluster --output table

​以下示例输出表明,群集可升级到版本 1.25.15 和 1.24.6 和 1.24.9 :

如何升级Azure Kubernetes群集版本

既然有适用于AKS的升级版本,那我们就可以使用az aks upgrade命令进行升级,AKS群集升级过程中,AKS将执行如下动作:

  • 向运行指定 Kubernetes 版本的群集添加新的缓冲区节点(或最大电涌中配置的节点数)。
  • 隔离和排空旧节点之一,最大程度地减少对正在运行的应用程序的中断。 如果使用的是最大电涌,它将隔离和排空数量与指定缓冲区节点数相同的节点。
  • 旧节点在完全排空时,会重置映像以接收新版本,并且会成为下一个要升级的节点的缓冲区节点。
  • 此过程会重复进行,直至群集中的所有节点都已升级完毕。
  • 在此过程结束时,将删除上一个缓冲区节点,从而维持现有的代理节点计数和区域均衡。

需要注意的是,如果升级时,未指定补丁版本,则群集会自动升级到指定的次要版本的最新GA补丁。

接下来,我们使用az aks upgrade命令将群集升级到1.24.9版本,具体命令如下:

az aks upgrade --resource-group myResourceGroup --name myAKSCluster --kubernetes-version KUBERNETES_VERSION

如何升级Azure Kubernetes群集版本

升级完成以后,可以看到群集版本已经升级到了 1.24.9 :

如何升级Azure Kubernetes群集版本