将 kubernetes 从 v1.11 升级到 v1.15

Upgrade kubernetes from v1.11 to v1.15

我的源k8s集群版本是v1.11.5,目标k8s集群版本是v1.15.2,原地升级。

K8S 集群 Status.Three 具有 k8s 控制平面的主节点:

NAME   STATUS   ROLES    AGE   VERSION
a1     Ready    master   23h   v1.11.5
a2     Ready    master   23h   v1.11.5
a3     Ready    master   22h   v1.11.5

我没有使用 kubeadm 升级,因为强制的 k8s 倾斜 policies.I 遵循以下步骤:

[步骤 0] kubectl drain 节点 a3 并删除 a3 上的所有 k8s 组件。

[步骤 1] 使用 kubeadm init 在节点 a3 上安装 v1.15.2 k8s 并卸载节点 a3。

[步骤 2] 在节点 a2 和 a1 上重做上述步骤。

各节点安装k8s v1.15.2后,K8S集群状态变为:

NAME   STATUS   ROLES    AGE   VERSION
a1     Ready    master   23h   v1.15.2
a2     Ready    master   23h   v1.15.2
a3     Ready    master   22h   v1.15.2

所以我的问题是这个升级方案有什么问题吗?

因为k8s版本倾斜政策说k8s不支持跨y升级version.For例如,我必须将k8s从v1.11升级到v1.12,然后从v1.12升级到v1.13 .

是的,你通常应该做每个版本升级。不仅需要对 CNI 插件等进行中间升级,运行 不支持具有多个 skew 版本的 Kubelet。所以如果你要这样做,你将不得不耗尽并停止每个节点,然后进行升级,然后重新启动它们:)这显然意味着完全停机,而不是进行允许滚动升级的每一跳,通常是首选。

您的情况不是升级。您有 运行 'kubeadm init to install v1.15.2' 这意味着它是 v1.15.2

的全新安装