升级集群
升级集群的方式取决于你最初部署它的方式、以及后续更改它的方式。
从高层规划的角度看,要执行的步骤是:
- 升级控制平面
- 升级集群中的节点
- 升级 之类的客户端
你必须有一个集群。 本页内容涉及从 Kubernetes 1.23 升级到 Kubernetes 1.24。 如果你的集群未运行 Kubernetes 1.23, 那请参考目标 Kubernetes 版本的文档。
如果你的集群是使用 安装工具部署而来, 那么升级集群的详细信息,请参阅 升级 kubeadm 集群。
升级集群之后,要记得 .
你应该跟随下面操作顺序,手动更新控制平面:
- etcd (所有实例)
- kube-apiserver (所有控制平面的宿主机)
- kube-controller-manager
- kube-scheduler
- cloud controller manager, 在你用到时
现在,你应该 安装最新版本的 kubectl.
对于集群中的每个节点, 节点,然后,或者用一个运行了 1.24 kubelet 的新节点替换它; 或者升级此节点的 kubelet,并使节点恢复服务。
参阅你的集群部署工具对应的文档,了解用于维护的推荐设置步骤。
对象序列化到 etcd,是为了提供集群中活动 Kubernetes 资源的内部表示法, 这些对象都使用特定版本的 API 编写。
对于每个受影响的对象,用最新支持的 API 获取它,然后再用最新支持的 API 写回来。
升级到新版本 Kubernetes 就可以提供新的 API。
你可以使用 kubectl convert
命令在不同 API 版本之间转换清单。 例如:
替换了 pod.yaml
的内容, 在新的清单文件中, 被设置为 Pod(未变), 但 apiVersion
则被修订了。