大家好,我是张晋涛。
Kubernetes 正式发布了,包含了 40 项目增强更新。
本次 LOGO 的主要表达的意思是 尊重协作和开放的精神 ,这种精神将我们凝聚到一起转变为能改变世界的力量。
其实我每期的 「k8s生态周报」都有一个叫上游进展的部分,所以很多值得关注的内容在之前的文章中已经发过了。
这篇中我会再额外介绍一些之前未涵盖的,和之前介绍过的值得关注的内容。
core CSI Migration 达到 Stable
Kubernetes 对 CSI 的支持是自 v1.9 开始引入的,到 2019 年的 v1.13 时已经正式 GA 。最近几个版本中,社区正在将原本的 in-tree 插件逐步废弃或删除,并迁移至使用 CSI 驱动的方式。
迁移至使用 CSI 的好处在于,能提高可维护性,并减少因 in-tree 代码导致的漏洞或者错误的发生。
但是迁移也并不是直接替换,社区考虑到用户的迁移成本,于是提出了一种解决方案:CSI Migration ,这个方案是将 in-tree API 转换为等效 CSI API,并将操作委托给 CSI 驱动程序的功能。目前该功能达到 GA,in-tree 的迁移也有很多进展。
deprecate GlusterFS plugin from available in-tree drivers. by humblec · Pull Request #111485 · kubernetes/kubernetes
在这个 PR 中废弃了 in-tree 的 GlusterFS 的 plugin,这其实是最早的 dynamic provisioner ,自 Kubernetes v1.4 版本开始引入。
在后来 CSI 驱动出现的时候,社区中也立刻出现了对应的驱动实现 https://github.com/gluster/gluster-csi-driver/ ,只不过该项目并没有积极的进行维护。现在还有另一个比较推荐的替代方案,可以考虑使用 https://github.com/kadalu/kadalu/ 此项目最新的版本为 v0.8.15 。
经过社区之前的讨论,还是决定在 v1.25 版本开始将 in-tree 的 GlusterFS plugin 标记为废弃,并在后续的版本中进行移除。
如果有正在使用此插件的小伙伴,我建议可以尽早的评估 kadalu 的可行性 & 迁移成本。
cleanup: Remove storageos volume plugins from k8s codebase by Jiawei0227 · Pull Request #111620 · kubernetes/kubernetes
cleanup: Remove flocker volume plugins from k8s codebase by Jiawei0227 · Pull Request #111618 · kubernetes/kubernetes
cleanup: Remove quobyte volume plugins from k8s codebase by Jiawei0227 · Pull Request #111619 · kubernetes/kubernetes
上述的这几个 PR 所做的事情基本类似,是一些清理操作。将 Kubernetes 项目中 StorageOS
,Flocker
和 Quobyte
等 in-tree 的卷插件都删除掉了。
其中 StorageOS
和 Quobyte
如果有在使用,建议往 CSI plugin 进行迁移,而 Flocker
则是由于不再维护了,所以并没有任何迁移计划。
cgroup v2 支持达到 GA
在 2019 年 GitChat 对我的访谈中让我聊 2020 年的技术趋势,我当时的主要观点摘录如下:
“作为云原生技术的基石,Kubernetes 在 2020 年的热度将会持续上升。而各个公司的集群规模,以及对容器技术的推进都将会持续加大。在经历了初步容器化后,更多的公司将面临的问题是稳定性和