完成Kubernetes历史上最大的迁移

完成Kubernetes历史上最大的迁移

💡 原文英文,约1100词,阅读约需4分钟。
📝

内容提要

Kubernetes项目成功将内置云提供商集成迁移至外部插件,减少约150万行代码,核心组件二进制大小降低约40%。此举旨在简化Kubernetes并实现供应商中立,未来将专注于改进云控制器测试和与云提供商的集成。

🔎

延伸解读

迁移背景与核心动机

Kubernetes 自 v1.7 起便计划移除内置云提供商集成,主要因为维护所有云提供商的本地支持导致代码库庞大复杂,且阻碍了供应商中立目标的实现。此次迁移将集成移至外部插件,减少了约 150 万行代码,核心组件二进制大小降低约 40%,显著简化了项目。

关键技术子系统与作用

迁移过程中构建了四个子系统:云控制器管理器负责节点初始化和负载均衡器管理;API 服务器网络代理替代 SSH 隧道,提供通用代理;Kubelet 凭证提供程序插件动态获取镜像仓库凭证;容器存储接口(CSI)标准化存储管理。这些子系统实现了与内置功能的完全对等,并已达到 GA 成熟度。

对用户的影响与升级建议

从 v1.31 开始,内置云提供商将被永久禁用并移除。使用 v1.29 之前版本且未迁移的用户应尽快迁移到外部云提供商,可参考 Kubernetes 1.29 的博客文章获取指导。迁移后,用户需确保集群使用外部插件,以保持功能正常并享受更简化的架构。

未来方向与社区参与

SIG Cloud Provider 将专注于改进云控制器测试,并探索 Kubernetes 与云提供商的更好集成方式,包括混合云环境支持。社区鼓励开发者参与双周 SIG 会议,共同推动外部提供商工具和框架的完善,以提升 Kubernetes 生态的可靠性和扩展性。

❓

Q&A

Kubernetes迁移内置云提供商集成的主要原因是什么?

主要原因是维护每个云提供商的本地支持变得复杂,以及希望建立真正的供应商中立平台。

Kubernetes迁移后,核心组件的二进制大小减少了多少?

核心组件二进制大小降低约40%。

迁移过程中构建了哪些新的子系统?

迁移过程中构建了四个新的子系统,以实现与内置功能的完全特性对等。

云控制器管理器在迁移中起到了什么作用?

云控制器管理器是第一个引入的外部组件,负责初始化节点和管理云负载均衡器。

Kubernetes的API服务器网络代理项目有什么新功能?

API服务器网络代理项目提供了通用的代理机制,替代了kube-apiserver中的SSH隧道功能。

从Kubernetes v1.31开始,内置云提供商将会发生什么变化?

从v1.31开始,内置云提供商将被永久禁用并从核心Kubernetes组件中移除。

🏷️

标签

➡️

继续阅读