探索财经奥秘,指引财富未来

K8 s庆祝KuberTENes:合作十年

Thomas Claburn 2024-06-13 18:09:18

2014年,谷歌发布了Kubernetes,这是一个开源的集群管理系统,它的名字来源于希腊语中“舵手”或“飞行员”的意思.

该系统主要是用围棋编程语言编写的,第一次提交是在2014年6月6日--准确地说是太平洋时间16:40:48.

十年后,Kubernetes已经成为在云中运行大型应用程序的事实上的方式.

2024年6月6日,Linux基金会通过其子公司云本地计算基金会(CNCF)支持Kubernetes项目,在谷歌的湾景园区举行了一次小型聚会,庆祝该软件十周年.

CNCF总经理普里扬卡·夏尔马在现场直播的观众面前说,这是技术历史上重要的一步.

凯尔西·海托华是一位软件工程师和开发者倡导者,以其对Kubernetes社区的贡献而闻名,也是此次活动的主持人.

他提醒生日派对的参与者们,他们应该坚持自己的观点.

海托华说:“所以,当我们在这里庆祝Kubernetes的生日时,这是一款驻留在GitHub上的软件.

”“但我们实际上是在庆祝在座的所有人,现场直播的人,以及所有贡献了一份文档的人,这就是为什么这个项目已经在这里10年了.

没有这么多人,你不可能走到这一步.

”Kubernetes,有时被称为K8,由大约20年前谷歌开发的集群管理软件Borg和类似的集群系统Omega演变而来.

它已经成为仅次于Linux的第二大开源项目.

Kubernetes是一个容器编排平台,处理负载均衡、发布和回滚、伸缩等基础设施管理任务.

它允许将容器化的应用程序作为微服务的集合进行管理,并代表了另一种常见的打包计算环境的方式--虚拟机的替代方案.

Stacklok的联合创始人兼首席执行官克雷格·麦卢基是在谷歌时帮助启动Kubernetes项目的人之一,他回忆起K8是如何开始让谷歌员工思考如何与亚马逊网络服务竞争的.

他解释说:“亚马逊已经推出了[他们的即服务产品],有效地创造了这种令人难以置信的颠覆性的开源商业化方式.

”在思考谷歌如何利用公司的非对称优势来实现这一点时,麦卢基说,“我们开始考虑Kubernetes项目.

”2013年,麦卢基、布伦丹·伯恩斯和乔·贝达从Docker那里得到了灵感,Docker旨在一台机器上运行集装箱化的应用程序,并将这个想法扩展到运行在一系列系统中的多个容器上.

麦卢基说,他最初将伯恩斯编写的代码描述为“一个个人Borg细胞”.

对于不熟悉谷歌基础设施代码的人来说,这并不意味着什么.

他尝试了其他描述,比如“一个基于承诺理论的调度系统”,然后是“码头编排系统”,还有“可编程的理想基础设施”.

他说:“最终,我们开始不仅能感觉到我们想要建造的东西,我们还能真正地描述它.

”这个项目最初的代号是“九之七”,麦卢基解释说,“因为这是一种友好的、更容易接近的Borg.

”*,谷歌基础设施副总裁埃里克·布鲁尔说,他说,对他来说,周年纪念日更像是30年,而不是10年,因为他自20世纪90年代中期在加州大学伯克利分校担任教授以来,一直从事与库伯内斯类似的工作.

布鲁尔说,在他担任Inktomi的创始人期间,他也致力于类似的技术.

Inktomi是一家早于谷歌的搜索引擎,于2002年被雅虎收购.

布鲁尔说,计算机集群实用服务的想法可以追溯到1965年与Multics(Multiplex Information And Computer Service)的合作.

但穆尔蒂奇没有兴趣Net,而20世纪90年代中期出现的云状集群服务运行在真实的机器上,不够灵活.

“最后,我想说的是,Kubernetes正在真正实现这一愿景,”布鲁尔说.

他将这归功于在VM上运行--这是基于进程的谷歌避免使用容器的原因.

他还称赞了库伯内斯社区.

他解释说:“回想起来,这是显而易见的,但如果你想提供所有的东西,社区必须写下所有的东西.

”“别无选择.

”,Kubernetes并不是唯一的容器编排选项.

红帽OpenShift、码头群、阿帕奇·梅索斯和Hashicorp Nomad都在争夺开发人员和基础设施运营人员的关注.

但库伯内斯主导着市场,这在一定程度上要归功于有效的布道和项目治理、细心的开发和忠诚的社区.

谷歌总经理兼工程副总裁陈戈德伯格将该项目的长盛不衰部分归因于2017年的转变,以推动她所说的“可持续成功”.

这意味着“关注开发人员的速度或工具或测试框架,”戈德伯格解释说.

例如,我们如何才能加入新的贡献者?更重要的是,我们如何确保我们能够加入并授权新的SIG[特殊利益集团]领导人?我想,当然,因为没有人想在他们的余生中从事这项工作.

这还意味着要防止碎片化,即每个云提供商可能会以不同的方式实施软件,侵蚀在不同环境之间转移工作负载的能力,并创造锁定的机会.

Kubernetes通过建立认证Kubernetes一致性计划避免了这种情况,该计划通过确保工作负载可移植性来帮助限制供应商锁定的可能性.超过8.8万名贡献者提供了改进Kubernetes的代码,或以其他方式提供帮助.

根据云本地计算基金会的数据,截至去年,K8s是71%的财富100强公司的主要容器编排软件.

在接受The Register的采访时,观察公司Biz Dynatrace的首席技术策略师阿洛伊斯·雷特鲍尔表示:“总的来说,我们的客户群中采用了非常多的Kubernetes.

”Reitbauer说:“你可以说,几乎每个人现在都在寻找方法,至少对于新的应用程序,将它们转移到Kubernetes中.

”原因是显而易见的.

在DevOps运动之初,人们开始以代码的形式构建更多的基础设施,但一切仍然绑定到单独的机器上.

所以你必须知道你有哪些机器.

Reitbauer说:“Kubernetes的一个很好的抽象是,我们不必关心我们的代码到底在哪里运行.

”“通过使用容器,我们还可以打包软件组件,让我们不会真正想知道里面有什么,因为我们有容器的标准接口.

”他说,由于有这么多客户希望自动化操作,Kubernetes派上了用场,因为它以声明的方式工作,并提供了一个中央注册表,可以在其中存储软件构件.

“它让与软件系统的交互变得容易得多,”他说.

“Kubernetes已经变得几乎像是应用程序的操作系统,公司在上面建立他们的平台工程计划,”Reitbauer说,“它标准化并抽象了许多构建和运行应用程序的复杂性,理想情况下,你只需要担心你的应用程序代码,中央团队负责从配置、配置、安全配置、可观察性配置等一切事情.

”尽管Kubernetes被广泛部署,并已证明它可以在巨大的规模上工作-谷歌在2023年使用它来运行陈所说的“世界上最大的分布式培训工作”-在50,000个TPU v5e处理器上培训单个模型-那些为软件基础设施项目做出贡献的人认识到,将需要进一步的改进来适应人工智能工作负载.

我们将ns和设计原则融入Kubernetes,并在规模、延迟优化和成本等领域增强和扩展它们,”陈说.

“但归根结底,人工智能是一项现代工作量.

Kubernetes的许多基本原理确实完全符合人工智能时代.

用CNCF的Sharma的话来说,“Kubernetes将过去变成了我们今天所知的现在.

它也将为未来提供动力.

”®,* 博格人是《星际迷航:下一代》中的一个种族,也是该系列中的主要对手,因为他们“同化”其他种族并将他们融入集体意识中.

在《星际迷航:旅行者》中,船员们释放了一名名为“九中七”的博格人,他成为了该船中值得信赖的成员.