Kubernetes起源

Kubernetes的来源可以概括为: 它起源于 Google 内部一个名为 Borg 的系统,后来由 Google 将其开源,并捐赠给云原生计算基金会(CNCF)进行管理和培育。

下面我们来详细分解这个过程:

  1. 诞生背景与前身:Google 的 Borg 系统

    时间点: 早在 21 世纪初(2003-2004年左右)。
    
    是什么: Borg 是 Google 内部的一个大规模集群管理系统。它负责调度和管理 Google 内部数以万计的服务(如 Google Search、Gmail、Google Maps 等)在成千上万台服务器上运行。
    
  2. 核心价值:

    资源利用率: 通过将众多应用混部在同一台大型集群上,极大地提高了硬件资源的利用率,节省了成本。

    运维自动化: 开发者无需关心自己的服务具体运行在哪台机器上,Borg 会自动处理调度、部署、监控、故障恢复(自愈)和扩缩容等。

    高可用性: 支持应用的高可用部署,当机器或应用出现故障时,Borg 会自动在健康的机器上重新启动它们。

可以这么说,Borg 是 Google 基础设施的“秘密武器”,它证明了容器化技术和大规模集群管理的可行性。

开源与命名:Kubernetes 的诞生

时间点: 2014年。

为什么开源:

随着 Docker 在 2013年的兴起,容器技术开始普及,但缺乏一个成熟的生产级编排系统。

Google 看到了市场机遇,决定将其在 Borg 上积累的十年宝贵经验贡献给社区,以推动容器生态的发展,并确立自身在云时代的领导地位。

命名由来:

“Kubernetes” 这个词源于希腊语,意为“舵手”或“飞行员”。

其标识是一个船舵,非常形象地表达了它的作用:像舵手引导轮船一样,引导着成千上万的容器安全、正确地到达目的地。

缩写 K8s 的来源:因为“Kubernetes”这个词太长,在英文中,将首字母“K”和尾字母“s”之间的 8 个字母缩写为“8”,于是就形成了 K8s。

发展与壮大:CNCF 与云原生时代

时间点: 2015年。

关键事件: Google 与 Linux 基金会共同成立了 云原生计算基金会,并将 Kubernetes 作为首个种子项目捐赠给 CNCF。

意义:

这确保了 Kubernetes 的中立性,避免了被单一厂商(如 Google)控制,吸引了更多厂商(如 Red Hat、VMware、华为、微软等)和开发者共同参与建设。

在 CNCF 的治理下,Kubernetes 的发展极其迅速,形成了一个以它为核心的、庞大的云原生生态系统。

总结:Kubernetes 的来源可以清晰地总结为:

阶段 关键系统/事件 贡献/意义
内部实践 Borg Google 内部大规模集群管理系统的十年经验积累,是 K8s 的设计思想和技术的源头。
开源发布 Kubernetes (2014) Google 将 Borg 的理念和经验抽象出来,用 Go 语言重写并开源,推动了整个行业的变革。
生态壮大 捐赠给 CNCF (2015) 确立了中立地位,吸引了全球开发者和厂商,形成了繁荣的云原生生态,成为事实标准。

一个有趣的比喻:

Borg 就像是 Google 内部经过多年实战考验的 “航母舰队指挥系统”。

Kubernetes 则是 Google 将这套指挥系统的核心原理和设计,打造成了一个开源的、人人都可以使用的 “通用舰队指挥系统”。

正是这种源于顶级互联网公司大规模生产实践的“贵族血统”,使得 Kubernetes 在诞生之初就具备了强大的基因,最终在众多容器编排系统(如 Docker Swarm, Apache Mesos)的竞争中脱颖而出,成为云原生时代的基石。

更多推荐