使用 PowerShell 在 AKS 中升级 AKS 群集的 Kubernetes 版本

适用于:Azure Stack HCI 22H2 上的 AKS、Windows Server 上的 AKS

Azure Arc 启用的 AKS 中的 Azure Kubernetes 服务 (AKS) 工作负荷群集可以使用两种类型的更新:

  • 升级 AKS 群集的 Kubernetes 版本。
  • 在不更新 Kubernetes 版本的情况下升级 AKS 群集的操作系统版本。

注意

还可以使用 Windows Admin Center 升级 AKS 工作负荷群集

建议每隔 60 天至少更新一次 AKS 工作负荷群集。 每 30 天提供一次新的 Kubernetes 版本更新。 为了避免工作负荷可用性中断,将执行滚动更新。 将具有较新版本的新节点引入群集时,资源会从旧节点移动到新节点。 成功移动资源后,旧节点将解除授权并从群集中删除。

重要

更新 AKS 主机上的Azure Kubernetes 服务是任何更新流中的第一步,必须在运行Update-AksHciCluster之前启动。 有关更新 AKS 主机的信息,请参阅 “更新 Azure 本地”上的 AKS 主机。

获取可用的 Kubernetes 版本

Get-AksHciKubernetesVersion使用命令检查支持的 Kubernetes 版本:

Get-AksHciKubernetesVersion

示例输出:

OrchestratorType OrchestratorVersion OS      IsPreview
---------------- ------------------- --      ---------
Kubernetes       v1.18.14            Linux       False
Kubernetes       v1.18.17            Linux       False
Kubernetes       v1.19.7             Linux       False
Kubernetes       v1.19.9             Linux       False
Kubernetes       v1.20.2             Linux       False
Kubernetes       v1.20.5             Linux       False
Kubernetes       v1.18.14            Windows     False
Kubernetes       v1.18.17            Windows     False
Kubernetes       v1.19.7             Windows     False
Kubernetes       v1.19.9             Windows     False
Kubernetes       v1.20.2             Windows     False
Kubernetes       v1.20.5             Windows     False

获取可用的工作负荷群集更新

以下示例假定工作负荷群集 myCluster 当前位于 Kubernetes 版本 1.19.7 上:

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}

从此输出中可以看到,可以执行 v1.19.9 的修补程序更新,也可以对 v1.20.5 执行次要更新。

使用 PowerShell 升级工作负荷群集的 Kubernetes 版本

使用 Update-AksHciCluster PowerShell 命令执行 Kubernetes 次要更新。 此命令还会更新容器主机 OS 的操作系统版本:

Update-AksHciCluster -name myCluster -kubernetesVersion v1.20.5

在不更新 Kubernetes 的情况下更新容器 OS 版本

如果在不更改 Kubernetes 版本的情况下将工作负荷群集上传到较新版本的操作系统,则它不起作用,除非新的 OS 版本不需要其他 Kubernetes 版本。 运行 Update-AksHciCluster 命令并指定 operatingSystem 参数,以将 AKS 工作负载群集的容器主机更新为较新版本的操作系统。 以下示例假定工作负荷群集 myCluster 当前具有超过 30 天的操作系统版本:

Update-AksHciCluster -name myCluster -operatingSystem

后续步骤