• 我的订阅
  • 科技

谈谈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
更多关于科技的资讯:
邦德激光正式入驻Dream Park全球总部基地
近日,邦德激光总部员工全部迁入位于济南市历城区春晖路3999号的Dream Park全球总部基地,标志着公司发展进入全新阶段
2026-02-06 20:50:00
2026年WGS世界政府峰会 迪拜王储乘坐百度萝卜快跑无人车参会!
“解放双手、未来已来!”在体验完萝卜快跑全无人驾驶后,迪拜王储谢赫·哈姆丹主动在海外社交媒体上发文,赞叹这次“非常丝滑”的未来出行
2026-02-06 17:08:00
三联家电章丘首店世茂店盛大开业,一站式高端家电消费新升级
鲁网2月6日讯春启新程,盛境绽放!2月6日,扎根齐鲁四十一载的山东家电零售领军品牌三联家电,携章丘区域首店正式入驻章丘世茂广场
2026-02-06 17:12:00
造谣一张嘴,辟谣跑断腿。一段时间以来,网络“黑嘴”伤企现象时有发生,严重影响企业正常发展。现摘编山东青岛市网信办文章《守护营商网络净土
2026-02-06 17:46:00
蚂蚁集团发布《2025年消费者权益保护年报》:金融普惠教育系列行动覆盖2.4亿人次
中国消费者报报道(记者司宇萌)日前,蚂蚁集团正式发布《2025年消费者权益保护年报》(以下简称《年报》)。《年报》显示
2026-02-06 18:11:00
第四届储能大会将于5月22日至24日在南京举办
中国消费者报北京讯(记者吴博峰)2月5日,以“技术突围•生态协同”为主题、由江苏省储能行业协会联合行业媒体共同主办的CESC2026第四届储能大会暨储能及智能电网设备应用展览会媒体见面会在京举行
2026-02-06 18:11:00
聚焦国际优质内容 京东图书推动法国与英国经典作品销量与影响力双提升
当下,法国文学在中国阅读市场的热度持续攀升,相关数据显示2025对华出口额同比增长超过30%。作为引进与销售海外文化作品的渠道之一
2026-02-06 18:17:00
河钢集团张宣科技:聚力体系构建 推动智能制造向高端跃迁
河北新闻网讯(王杨、曹莹莹)曾经,以“氢冶炼”替代“碳冶炼”实现了行业突围。如今,产业向智造升级,河钢集团张宣科技又该如何续写传奇
2026-02-06 20:00:00
在全球制造业向高端化、智能化转型的浪潮中,激光技术作为核心支撑力量,正重塑产业发展格局。武汉华工激光工程有限责任公司(以下简称 “华工激光”)作为中国激光工业化应用的开创者与引领者
2026-02-06 15:27:00
国家超算互联网核心节点上线试运行,托举中国AI算力应用关键一跃!
2月5日,国家超算互联网应用技术大会暨核心节点上线试运行仪式在郑州隆重举行。发改委、科技部、工信部、国家数据局、国家自然科学基金委等单位莅临现场
2026-02-06 15:28:00
河北交投禄发集团徐水服务区升级改造换新颜 顾客出行体验再提升
视频摄制:周明哲河北新闻网讯(牟岚)2月4日,位于京港澳高速公路京石段121公里处的河北交投禄发集团所属徐水服务区升级改造后重新亮相
2026-02-06 15:29:00
随着银发经济从基础保障型供给向精神文化型消费升级,银发文教正在成为银发产业中最具潜力的细分赛道。与早期的兴趣培训不同,如今的银发文教已经覆盖文化素养
2026-02-06 15:39:00
近日,倍轻松推出的“早睡娃娃”系列以现象级热度席卷社交网络,成为年货消费市场的一抹亮色。1月23日至25日,全国巡展首站在深圳KKONE购物中心启动
2026-02-06 15:47:00
毛绒玩具产业是雄安新区容城县的特色优势产业。马年春节将至,位于容城县的中国(雄安新区)玩具总部基地内,上百款马年毛绒玩具扎堆上新
2026-02-06 13:57:00