本文发布已超过一年。较早的文章可能包含过时内容。请检查页面中的信息自发布以来是否已不再准确。
Kubernetes 生日快乐。啊,你将走向何方!
亲爱的 K8s,
很难相信你才一岁——你成长得太快了。在你一周岁生日之际,我想写点东西,谈谈你诞生时我为何如此兴奋,为何我很幸运能成为培养你的团队一员,以及我为何渴望看着你继续成长!
--Justin
你起点很高,基础扎实——良好的声明式功能,围绕着定义明确的 schema 的稳固 API,以及未来不断发展的机制。果不其然,在你的第一年里,你发展得如此之快:自动扩缩容、HTTP 负载均衡支持 (Ingress)、对包括集群数据库 (PetSets) 在内的持久性工作负载的支持。你结识了更多的云朋友(欢迎 Azure 和 OpenStack 加入大家庭),甚至开始跨越可用区和集群(Federation)。而这些只是最显眼的变化——你内部的大脑中发生着太多事情!
我觉得你所做的一切都能保持如此开放的态度真是太棒了——你似乎把所有东西都记录在 GitHub 上——无论是好是坏。我想我们在这个过程中都学到了很多,比如工程师做出可扩展性声明后,与那些没有同样精确和严格框架的声明进行权衡的风险。但我为你感到自豪,因为你选择不降低标准,而是迎难而上,跑得更快——这可能不是最现实的方法,但这正是移山之道!
然而,不知为何,你成功地避开了许多其他开源软件陷入的常见死胡同,尤其是当这些项目变得更大、开发者更多地是开发而非直接使用时。你是怎么做到的?IBM 有一个可能是杜撰的故事:一个员工犯了个大错,被召去见大老板,以为要被解雇,结果老板却说“我们刚刚花了几百万美元培训你。我们为什么要解雇你呢?”。尽管谷歌(以及红帽等公司)在你身上投入了大量资金,我有时会想,我们避免的那些错误是否更具价值。你的开发过程非常开放,但同时也有一个“先知”会时不时地纠正方向,告诉我们如果做出某个设计决定,两年后会发生什么。这就像一位你应该听从的父母!
所以,尽管你才一岁,但你真的拥有一个成熟的灵魂。我只是许多培养你的人中的一员,但能够与那些构建了这些不可思议的系统、拥有丰富领域知识的人一起工作,对我来说是一次绝佳的学习经历。然而,因为我们是从零开始(而不是沿用现有的 Borg 代码),我们处于同一水平线上,仍然可以就如何培养你进行真诚的讨论。好吧,至少是我们能达到的最接近的同一水平线,而他们如此善良,从未提及这一点,这正是他们的优点!
如果我要选出那些杰出人才做出的仅有的两个明智决定,
- Labels 和 Selector 为我们提供了声明式的“指针”,这样我们就可以说我们“为什么”想要某些东西,而不是直接列出这些东西。这就是你能够扩展到惊人高度的秘诀;不是通过命名每一个步骤,而是说“再来一千个像第一个那样的步骤”。
- Controllers 是状态同步器:我们指定目标,而你的控制器将孜孜不倦地工作,使系统达到该状态。它们通过那个强类型 API 基础进行工作,并在整个代码库中使用,因此 Kubernetes 更像是一百个小程序组成的集合,而不是一个巨大的程序。技术上扩展到成千上万个节点是不够的;项目还需要扩展到成千上万的开发者和功能;而 Controllers 帮助我们实现了这一点。
就这样继续前行吧!我们将替换掉那些 Controllers,并构建更多,而 API 基础使我们能够构建任何我们能以那种方式表达的东西——大多数事情都只需要一个 Label 或 Annotation!但你的思想不会被语言定义:通过第三方资源,你可以表达你选择的任何东西。现在我们可以在 Kubernetes 之外构建 Kubernetes,创建那些感觉就像 Kubernetes 一部分的东西。许多最近的添加,比如 Ingress、DNS 集成、自动扩缩容和网络策略,都是或可能以这种方式完成的。最终,很难想象你没有这些东西之前的样子,但明天的标准功能今天就可以开始,没有障碍或看门人,甚至可能只为了一个观众。
因此,我期待着看到越来越多的成长发生在离 Kubernetes 核心越来越远的地方。我们必须经历那些阶段;从那些需要在 Kubernetes 内核中发生的事情开始——比如用 Deployment 替换 Replication Controller。现在我们开始构建不需要核心更改的东西。但我们仍然在将基础设施与应用分开讨论。真正有趣的是接下来发生的事情:当我们开始构建依赖于 Kubernetes API 的应用时。我们一直都有 Cassandra 使用 Kubernetes API 进行自组装的例子,但我们还没有真正开始更广泛地探索这一点。就像 S3 API 改变了我们构建“记忆”事物的方式一样,我认为 K8s API 将改变我们构建“思考”事物的方式。
所以我期待着你的两周岁生日:我可能会试着预测你届时会是什么样子,但我知道你会超越我能想象到的最大胆的事情。啊,你将走向何方!