• 我的订阅
  • 科技

谈谈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
openeuler开放原子开放原子开源基金会正式启动
...erDeveloperDay2023于4月20-21日举办。本次大会由开放原子开源基金会指导,中国软件行业协会、openEuler社区
2023-04-22 20:32:00
广州公益慈善蓝皮书:设立“社区慈善基金”488个,筹款逾4800万元
...才队伍建设等领域的形势和问题,此外,深入研究了广州基金会行业发展和社会工作服务行业参与疫情防控的状况。在回顾广州慈善事业发展的同时,蓝皮书也针对现实发展的痛点和实际需求,对广
2023-01-04 13:37: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
更多关于科技的资讯:
三联家电洪楼店店庆盛典3.07火热开启!
鲁网3月6日讯春暖花开,焕新正当时!一年一度,三联家电洪楼店将于3月7日至3月15日隆重举办店庆盛典,为广大消费者带来一场诚意十足
2026-03-06 17:08:00
2025ITEC颁奖典礼在京举行 半导体AI创新成果引关注
2月4日,第十三届朝阳国际人才创业大会(ITEC2025)创新峰会在北京举办,大会全球创业赛获奖名单同期正式揭晓——“人工智能在半导体制造的应用与研究”项目凭借核心技术突破与产业化落地实效
2026-03-06 14:10:00
中新经纬3月6日电 (薛宇飞)从“新三样”(新能源汽车、锂电池和光伏产业)领跑全球,到新“新三样”(机器人、人工智能与创新药)迎来爆发
2026-03-06 15:03:00
3月10日起携程将下线“调价助手”,减少酒店间价格内卷
3月5日,极目新闻记者从携程获悉,从2026年3月10日起,携程商家管理后台将下线“AI生意助手”(调价助手)功能。据了解
2026-03-06 15:20:00
3月6日,字节跳动官方微信公众号发文称,ByteIntern实习生招聘项目正式启动。据悉,本次招聘为字节跳动史上规模最大的转正实习生招聘计划
2026-03-06 15:20:00
“手搓经济”升温,灵光用户手搓闪应用售千单
这个春节假期,“手搓经济”火了。据悉,有多位网友在社交平台分享并出售他们通过灵光App手搓的闪应用,单个小应用成交量从百单到千单
2026-03-06 15:50:00
新希望乳业积极拥抱AI破局奶业新质发展
受到点赞的“24小时鲜奶”,是新希望乳业推出的全国首款只售卖当天的低温鲜奶产品,也是新希望乳业坚持核心的“鲜战略”、打造“极致新鲜”供应链
2026-03-06 15:54:00
2026年,GEO赛道的红利持续释放,但一个普遍的行业困惑困扰着无数企业:为什么同样做GEO、同样布局全意图层级,有些企业能实现声量与转化双爆发
2026-03-06 15:54:00
硅基动感旗舰新品动态血糖仪GS3在京东健康独家首发
3月6日,硅基动感旗舰级新品持续葡萄糖监测系统(CGM)GS3在京东健康平台独家首发。该新品以极致纤薄化设计与国际级精准性能
2026-03-06 15:55:00
国补精准发力 火三月旺季加持 三联家电3.7家装节即将开抢
鲁网3月6日讯春回大地,家电消费市场迎来 “政策 + 节点”双重引爆点。3月7日,三联家电春季家电家装节将正式启幕,恰逢 2026 年家电国补政策全面重启
2026-03-06 15:56:00
CONEXPO 2026:柳工全面展现电动化与高效施工解决方案
3月3日,柳工( 000528.SZ )携 13款设备亮相美国国际工程机械展(CONEXPO-CON/AGG 2026)
2026-03-06 15:57:00
多筒争霸下的行业破局:海信推出全球首创6合1热泵洗护站,引领洗护行业迈入新时代
当家电行业整体迈入存量博弈的深水区,洗护赛道的分化趋势愈发明显:一边是传统洗衣机大盘持续承压,增长乏力;另一边是用户需求的精细化升级
2026-03-06 15:57:00
重磅发布!海信棉花糖 U7S 全家筒震撼发布,6 合 1 热泵洗护站开启全域洗护新体验
3 月 5 日,在海信 2026 年世界杯营销暨定制产品发布会上,海信正式推出全新一代全家筒系列力作 —— 海信全家筒・棉花糖 U7S 四筒洗衣机
2026-03-06 15:59:00
从人海战术到智能机械:蒙草生态科技创新赋能三北治沙
春风渐起,“三北”工程防沙治沙一线逐步进入关键筹备期。蒙草智能装备研究院也抢抓工期,进一步开展防沙治沙智能机械研发调试
2026-03-06 16:10:00
从“出海”到“纵深”,中国工程机械行业开启高端全球化新叙事
鲁网3月6日讯2026年3月4日,全国两会如期召开,“高水平对外开放”成为热议的关键词。与此同时,在距离北京万里之外的拉斯维加斯会展中心
2026-03-06 15:58:00