• 我的订阅
  • 科技

谈谈Kubernetes开源社区和未来走向

类别:科技 发布时间:2022-12-29 08:02:00 来源:洁仔学编程

分享下 Kubernetes 社区资深成员与项目维护者「张磊」对于这个话题的思考。

谈谈Kubernetes开源社区和未来走向

你好,我是张磊。

在前面的文章中,我已经为你详细讲解了容器与 Kubernetes项目的所有核心技术点。在今天这篇文章里,我就跟你谈一谈 Kubernetes 开源社区以及 CNCF 相关的一些话题。

我们知道 Kubernetes 这个项目是托管在 CNCF 基金会下面的。但是,我在专栏最前面讲解容器与 Kubernetes 的发展历史的时候就已经提到过,CNCF 跟 Kubernetes 的关系,并不是传统意义上的基金会与托管项目的关系,CNCF 实际上扮演的,是 Kubernetes 项目的 Marketing 的角色。

这就好比,本来 Kubernetes 项目应该是由 Google 公司一家维护、运营和推广的。但是为了表示中立,并且吸引更多的贡献者加入,Kubernetes 项目从一开始就选择了由基金会托管的模式。而这里的关键在于,这个基金会本身,就是 Kubernetes 背后的“大佬们”一手创建出来的,然后以中立的方式,对 Kubernetes 项目进行运营和 Marketing。

通过这种方式,Kubernetes 项目既避免了因为 Google 公司在开源社区里的“不良作风”和非中立角色被竞争对手口诛笔伐,又可以站在开源基金会的制高点上团结社区里所有跟容器相关的力量。而随后 CNCF 基金会的迅速发展和壮大,也印证了这个思路其实是非常正确和有先见之明的。

不过,在 Kubernetes 和 Prometheus 这两个 CNCF 的一号和二号项目相继毕业之后,现在 CNCF 社区的更多职能,就是扮演一个传统的开源基金会的角色,吸纳会员,帮助项目孵化和运转。

只不过,由于 Kubernetes 项目的巨大成功,CNCF 在云计算领域已经取得了极高的声誉和认可度,也填补了以往 Linux 基金会在这一领域的空白。所以说,你可以认为现在的 CNCF,就是云计算领域里的 Apache ,而它的作用跟当年大数据领域里 Apache 基金会的作用是一样的。

不过,需要指出的是,对于开源项目和开源社区的运作来说,第三方基金会从来就不是一个必要条件。事实上,这个世界上绝大多数成功的开源项目和社区,都来自于一个聪明的想法或者一帮杰出的黑客。在这些项目的发展过程中,一个独立的、第三方基金会的作用,更多是在该项目发展到一定程度后主动进行商业运作的一部分。开源项目与基金会间的这一层关系,希望你不要本末倒置了。

另外,需要指出的是,CNCF 基金会仅仅负责成员项目的Marketing, 而绝不会、也没有能力直接影响具体项目的发展历程。无论是任何一家成员公司或者是 CNCF 的 TOC(Technical Oversight Committee,技术监督委员会),都没有对 Kubernetes 项目“指手画脚”的权利,除非这位 TOC 本人就是 Kubernetes 项目里的关键人物。

所以说,真正能够影响 Kubernetes 项目发展的,当然还是 Kubernetes 社区本身。可能你会好奇,Kubernetes 社区本身的运作方式,又是怎样的呢?

通常情况下,一个基金会下面托管的项目,都需要遵循基金会本身的管理机制,比如统一的 CI 系统、Code Review流程、管理方式等等。

但是,在我们这个社区的实际情况,是先有的 Kubernetes,然后才有的 CNCF,并且 CNCF 基金会还是 Kubernetes “一手带大”的。所以,在项目治理这个事情上,Kubernetes 项目早就自成体系,并且发展得非常完善了。而基金会里的其他项目一般各自为阵,CNCF不会对项目本身的治理方法提出过多的要求。

而说到 Kubernetes 项目的治理方式,其实还是比较贴近 Google 风格的,即:重视代码,重视社区的民主性。

首先,Kubernetes 项目是一个没有“Maintainer”的项目。这一点非常有意思,Kubernetes 项目里曾经短时间内存在过 Maintainer 这个角色,但是很快就被废弃了。取而代之的,则是 approver+reviewer 机制。这里具体的原理,是在 Kubernetes 的每一个目录下,你都可以添加一个 OWNERS 文件,然后在文件里写入这样的字段:

approvers: - caesarxuchao reviewers: - lavalamp labels: - sig/api-machinery - area/apiserver

比如,上面这个例子里,approver 的 GitHub ID 就是caesarxuchao (Xu Chao),reviewer 就是 lavalamp。这就意味着,任何人提交的Pull Request(PR,代码修改请求),只要修改了这个目录下的文件,那么就必须要经过 lavalamp 的 Code Review,然后再经过caesarxuchao的 Approve 才可以被合并。当然,在这个文件里,caesarxuchao 的权力是最大的,它可以既做 Code Review,也做最后的 Approve。但, lavalamp 是不能进行 Approve 的。

当然,无论是 Code Review 通过,还是 Approve,这些维护者只需要在 PR下面Comment /lgtm 和 /approve,Kubernetes 项目的机器人(k8s-ci-robot)就会自动给该 PR 加上 lgtm 和 approve标签,然后进入 Kubernetes 项目 CI 系统的合并队列,最后被合并。此外,如果你要对这个项目加标签,或者把它 Assign 给其他人,也都可以通过 Comment 的方式来进行。

可以看到,在上述整个过程中,代码维护者不需要对Kubernetes 项目拥有写权限,就可以完成代码审核、合并等所有流程。这当然得益于 Kubernetes 社区完善的机器人机制,这也是 GitHub 最吸引人的特性之一。

顺便说一句,很多人问我,GitHub 比 GitLab 或者其他代码托管平台强在哪里?实际上, GitHub 庞大的API 和插件生态,才是这个产品最具吸引力的地方。

当然,当你想要将你的想法以代码的形式提交给 Kubernetes项目时,除非你的改动是 bugfix 或者很简单的改动,否则,你直接提交一个 PR 上去,是大概率不会被 Approve 的。这里的流程,一定要按照我下面的讲解来进行:在 Kubernetes 主库里创建 Issue,详细地描述你希望解决的问题、方案,以及开发计划。而如果社区里已经有相关的Issue存在,那你就必须要在这里把它们引用过来。而如果社区里已经存在相同的 Issue 了,你就需要确认一下,是不是应该直接转到原有 issue 上进行讨论。给 Issue 加上与它相关的 SIG 的标签。比如,你可以直接 Comment /sig node,那么这个 Issue 就会被加上 sig-node 的标签,这样 SIG-Node的成员就会特别留意这个 Issue。收集社区对这个 Issue 的信息,回复 Comment,与 SIG 成员达成一致。必要的时候,你还需要参加 SIG 的周会,更好地阐述你的想法和计划。在与 SIG 的大多数成员达成一致后,你就可以开始进行详细的设计了。如果设计比较复杂的话,你还需要在 Kubernetes 的设计提议目录(在Kubernetes Community 库里)下提交一个 PR,把你的设计文档加进去。这时候,所有关心这个设计的社区成员,都会来对你的设计进行讨论。不过最后,在整个 Kubernetes 社区只有很少一部分成员才有权限来 Review 和 Approve 你的设计文档。他们当然也被定义在了这个目录下面的 OWNERS 文件里,如下所示:

reviewers: - brendandburns - dchen1107 - jbeda - lavalamp - smarterclayton - thockin - wojtek-t - bgrant0607 approvers: - brendandburns - dchen1107 - jbeda - lavalamp - smarterclayton - thockin - wojtek-t - bgrant0607 labels: - kind/design

这几位成员,就可以称为社区里的“大佬”了。不过我在这里要提醒你的是,“大佬”并不一定代表水平高,所以你还是要擦亮眼睛。此外,Kubernetes 项目的几位创始成员,被称作 Elders(元老),分别是jbeda、bgrant0607、brendandburns、dchen1107和thockin。你可以查看一下这个列表与上述“大佬”名单有什么不同。上述 Design Proposal被合并后,你就可以开始按照设计文档的内容编写代码了。这个流程,才是正常大家所熟知的编写代码、提交 PR、通过 CI 测试、进行Code Review,然后等待合并的流程。如果你的 feature 是需要要在 Kubernetes 的正式 Release 里发布上线的,那么你还需要在Kubernetes Enhancements这个库里面提交一个 KEP(即Kubernetes Enhancement Proposal)。这个 KEP 的主要内容,是详细地描述你的编码计划、测试计划、发布计划,以及向后兼容计划等软件工程相关的信息,供全社区进行监督和指导。

以上内容,就是 Kubernetes 社区运作的主要方式了。

总结

在本篇文章里,我为你详细讲述了 CNCF 和 Kubernetes 社区的关系,以及 Kubernetes 社区的运作方式,希望能够帮助你更好地理解这个社区的特点和它的先进之处。

除此之外,你可能还听说过 Kubernetes 社区里有一个叫作Kubernetes Steering Committee的组织。这个组织,其实也是属于Kubernetes Community 库的一部分。这个组织成员的主要职能,是对 Kubernetes 项目治理的流程进行约束和规范,但通常并不会直接干涉 Kubernetes 具体的设计和代码实现。

其实,到目前为止,Kubernetes 社区最大的一个优点,就是把“搞政治”的人和“搞技术”的人分得比较清楚。相信你也不难理解,这两种角色在一个活跃的开源社区里其实都是需要的,但是,如果这两部分人发生了大量的重合,那对于一个开源社区来说,恐怕就是个灾难了。

思考题

你能说出 Kubernetes 社区同 OpenStack 社区相比的不同点吗?你觉得这两个社区各有哪些优缺点呢?欢迎你在留言区写下自己的答案,我会与你交流。 返回搜狐,查看更多

责任编辑:

以上内容为资讯信息快照,由td.fyun.cc爬虫进行采集并收录,本站未对信息做任何修改,信息内容不代表本站立场。

快照生成时间:2022-12-29 09:45:05

本站信息快照查询为非营利公共服务,如有侵权请联系我们进行删除。

信息原文地址:

7月4日,中华全国体育基金会项目负责人苏开顼一行五人来临沂调研并召开座谈会,就有关合作事项进行磋商。市体育局局长李楠,党组成员、副局长刘金波,党组成员、副局长邵长满,局机关有关科
2023-07-08 14:37:00
壹基金安全家园项目河南教官及社区志愿者救援队培训活动举行
...传周期间,由河南省减灾委员会办公室和深圳壹基金公益基金会主办的“壹基金安全家园项目河南教官及社区志愿者救援队培训活动”于5月7日至11日在郑州举行。活动包括气候变化与洪涝灾害
2023-05-12 08:40:00
浪潮KaiwuDB出席2025开放原子开源生态大会,开源社区项目挑战赛正式发布
7月23日至24日,由开放原子开源基金会(以下简称“基金会”)主办的2025开放原子开源生态大会在北京国家会议中心二期盛大举行。本届大会以“开源赋能产业,生态共筑未来”为主题,汇
2025-07-29 15:28:00
广州公益慈善蓝皮书:设立“社区慈善基金”488个,筹款逾4800万元
...才队伍建设等领域的形势和问题,此外,深入研究了广州基金会行业发展和社会工作服务行业参与疫情防控的状况。在回顾广州慈善事业发展的同时,蓝皮书也针对现实发展的痛点和实际需求,对广
2023-01-04 13:37:00
openeuler开放原子开放原子开源基金会正式启动
...erDeveloperDay2023于4月20-21日举办。本次大会由开放原子开源基金会指导,中国软件行业协会、openEuler社区
2023-04-22 20:32:00
四川自贡高新区:首次探索社区级基金新模式
...会议在此举行。在当天的会议上,推选出第一届青蓝社区基金会管委会成员并召开第一次联席会议。随后,灵志社工带领管委会成员一起学习《四川省社区慈善基金建设指引》和《自贡市慈善总会社
2023-02-25 16:06:00
导演张博钧执导坪山社区基金会关爱老人慰问活动
...午,“崇德向善敬老行幸福坪山耀鹏城”深圳市坪山社区基金会关爱老人慰问活动顺利举办,本次活动由导演张博钧执导。坪山社区基金会理事长江伟明、基金会理事成员、17个社区相关负责同志
2022-12-15 21:49:00
“数字助老”公益项目又添新成员 贝壳防跌倒专业科普内容进社区
...益项目。据悉,“我来教您防跌倒”项目由北京贝壳公益基金会和北京白求恩公益基金会联合发起,由北京协和医院老年医学科提供专业支持,开发了《老人防跌倒手册》,并录制了科普视频。同时
2024-09-11 16:33:00
从社区到牧区,“中华益动行”社区体育活动(甘南站)盛大启幕
...、和谐社区、幸福社区。本次甘南站活动由中华全国体育基金会、甘南藏族自治州体育局主办,合作市人民政府承办,中体联赛管理(北京)有限公司独家运营推广,得到了中国银行股份有限公司的
2024-08-16 14:14:00
更多关于科技的资讯:
大皖新闻讯 为什么偏偏是饺子?时光回到14年前,袁记云饺创始人袁亮宏或许不曾想到,这样一个寻常巷口里诞生的“饺子店”
2026-01-14 21:19:00
大热!机器人行业招聘同比增长37%
2026年是“十五五”规划开局之年,发展新质生产力已摆在更加突出的战略位置。回望2025年,新质生产力相关产业已在实践中形成并展示出对高质量发展的推动力和支撑力
2026-01-14 21:40:00
江南时报讯 日前,昆山农商银行联合海联海律师事务所、昆山市交通运输局举办“聚势低空,共创未来”低空经济产业沙龙活动。活动汇聚昆山市低空经济领域企业代表
2026-01-14 21:49:00
江南时报讯 去年以来,泗阳农商银行以华为“广、深、高、速”的客户洞察框架为指引,深入洞察不同客户群体在生产、经营、生活中的“急难愁盼”
2026-01-14 21:49:00
中新经纬1月14日电 据“CHALI官方”公众号消息,14日,广州茶里集团有限公司(简称“茶里公司”)发布关于近期相关舆情的声明
2026-01-14 21:55:00
北京海淀:开展健康小家电质量检查行动
近日,北京市海淀区市场监管局开展了健康小家电质量检查行动。检查聚焦豆浆机、养生壶、煮蛋器等小家电,核查生产许可证、3C认证证书及质量检验报告,确保所售商品符合国家强制性标准。中国
2026-01-14 17:59:00
中国消费者报福州讯(陈梅冰 记者张文章)为助力辖区企业及个体工商户把握新媒体发展机遇,1月13日,福建省厦门市翔安区市场监管局协同翔安区个体私营企业协会举办题为“新媒体时代
2026-01-14 17:59:00
随着健康养生理念的深入,鲜炖燕窝凭借“新鲜炖煮、冷链配送、营养保留完整”的优势,成为越来越多人的滋补首选。但市场上品牌林立
2026-01-14 19:35:00
承包你的厨房 这就是河南“食”力丨UP!豫新潮③
大河网讯 在中国食品产业的版图上,河南以其令人瞩目的“硬核”数据占据着举足轻重的地位,这里生产了全国二分之一的火腿肠、三分之一的方便面
2026-01-14 17:06:00
荆楚网(湖北日报网)讯(记者齐一璇 通讯员袁嘉晨)近日,华中农业大学信息学院科研成果再传捷报,两项重要研究成果分别斩获省级
2026-01-14 14:29:00
CIBF2026:以自律、创新与协同,引领动力储能电池行业高质量发展
当前,中国动力储能电池行业在展现强劲增长活力的同时,也正在经历规模扩张与深度调整并行的关键阶段。一方面,产业数据彰显活力
2026-01-14 15:23:00
摘要:前瞻性、广覆盖、强协同1月8日,北京智谱华章科技股份有限公司(以下简称"智谱")成功登陆港交所,成为"大模型第一股"
2026-01-14 15:23:00
大爱无疆 行者致远 | 大行与爱地雅携手开启绿色出行新篇章
元月初始,万象更新,一场意义非凡的战略合作签约仪式在大行总部隆重举行,大行与爱地雅(东莞)自行车有限公司(下称爱地雅)正式签订战略合作协议
2026-01-14 15:23:00
河北新闻网讯(梁彬)为抢抓2026年首季业务攻坚关键期,提升团队实战营销能力,1月10日至11日,唐山农商银行古冶支行举办了为期两天的实践营销能力提升专题培训
2026-01-14 16:02:00
指尖筑梦 创意飞扬---临沂北园路小学3DOne设计社团阶段性成果展
鲁网1月14日讯近日,临沂北园路小学3DOne设计社团阶段性成果展示顺利开展。自社团成立以来,一群充满好奇心与创造力的小社员们
2026-01-14 11:17:00