服务器之家:专注于服务器技术及软件下载分享
分类导航

服务器资讯|IT/互联网|云计算|区块链|软件资讯|操作系统|手机数码|百科知识|免费资源|头条新闻|

服务器之家 - 新闻资讯 - 云计算 - Kubernetes联合创始人:没有开源,我们不会成功

Kubernetes联合创始人:没有开源,我们不会成功

2023-05-09 12:03未知服务器之家 云计算

Kubernetes 的成功并非一蹴而就,是经过多年的辛勤工作才实现的。 如今,Kubernetes 已经发展成为全球最庞大、最受欢迎的开源项目之一,成为全球各地构建云原生应用的首选 API —— 然而,它差点儿甚至不是一个开源项目。 自 20

Kubernetes 的成功并非一蹴而就,是经过多年的辛勤工作才实现的。

如今,Kubernetes 已经发展成为全球最庞大、最受欢迎的开源项目之一,成为全球各地构建云原生应用的首选 API —— 然而,它差点儿甚至不是一个开源项目。

自 2014 年创立以来,Kubernetes 已从一个由 Joe Beda、Craig McLuckie 和 Brendan Burns 三人共同创立的小型项目转变为一个生产级基础设施,为大型企业提供支持,范围覆盖了从机器学习到在线服务等诸多领域。

Kubernetes 的创立初衷是为了简化构建、部署和维护分布式系统的工作,让世界各地的人们能够享受更高的速度、灵活性和可靠性。经过多年的发展,Kubernetes 成为了一个庞大且成功的开源社区 —— 但是,这个过程可谓相当曲折漫长。

#01

什么是容器?

在深入探讨 Kubernetes 的历史之前,我们首先来定义一下 “容器”,因为这个词具有多种含义。

从本质上讲,容器是将应用程序进行打包的过程,它将组成该应用程序的各个部分,如软件、配置文件等,生成二进制文件,并具备一种在全球范围内进行分发的协议。

容器有三个核心:

将所有内容封装起来,确保其在不同环境下保持一致,例如在笔记本电脑上和云端上表现相同。

需要轻松地在全球范围内进行第一步的分发。

构建一个环境,确保过程中某个组件的故障不会影响到其他组件。

#02

它是如何开始的

当我们在 Dev Interrupted 播客中采访 Kubernetes 联合创始人 Brendan Burns 时,他告诉我们,作为一名工程师,他发现自己倾向于寻找更有机会的领域。在谷歌工作时,他注意到云计算领域有很多空白,认为这将是一个有吸引力的工作领域。当时,他带领一个由大约七名工程师组成的小团队,决定将他们的团队转移到云计算领域。

与此同时,最后的 Kubernetes 联合创始人 Joe 和 Craig 创建了 Compute Engine,这是谷歌云的虚拟机产品,他们三人开始在谷歌云部门共事。当 Joe 和 Craig 专注于计算时,Brendan 致力于配置管理,处理像 CloudFormation 和 Terraform 之类的事务。

当想法开始汇集时,他们三人目睹了人们在尝试采用云计算时所面临的挑战 —— 这个过程实在太难了。此外,谷歌内部还有一些系统,尤其是一个名为 Borg 的系统,它是一个至今仍在使用的集群管理器,为三位开发者在构想 Kubernetes 时提供了最初的灵感。

当然,如果没有 Docker,这一切都不会成为现实。

#03

Docker 改变了一切

作为 Kubernetes 功能的基础,人们需要有兴趣构建容器镜像并运行容器。Docker 作为一家初创公司,让人们明白了为什么应该关注容器化。就这样,一个应用场景诞生了,一个极好的机会呈现在了大家面前。

Docker 在大规模应用方面缺乏经验,他们关注的是单台机器上的容器和守护进程,缺乏的是编排。如果能够构建一个可以作为容器编排器的系统,那么它不仅代表着改变市场的巨大机遇,还将改变整个云计算领域的格局。

当你思考将一个应用程序部署到云端或者部署到本地一组机器上所需的步骤时,这是一个相当繁琐的过程。它要求你对应用程序进行打包、分发,保持其运行,确保应用程序各部分之间的流量负载均衡,并利用 API 将所有部分整合在一起。

在 Kubernetes 出现之前,确实有一些类似的系统,但与今天相比,相差甚远。Kubernetes 使分布式系统应用环境的概念成为主流,用于构建和构造跨越各种机器的分布式系统。

在认识到编排的需求之后,下一步便是向公司高层推销这个想法。

Kubernetes联合创始人:没有开源,我们不会成功

#04

推广开源思想

说服人们相信这是可能的,是个好主意相对容易。谷歌内有人理解 Joe、Craig 和 Brendan 试图做的事情。真正的挑战是让 Kubernetes 成为一个开源项目。正如 Brendan 在我们的采访中分享的,他们在谷歌内部关于是否开源进行了很多争论。

大多数时候,问题可归结为金钱和控制权。从商业角度来看,如果一个产品或系统非常成功,而你是唯一能销售它的人,那么你就处于一个有利位置。但是,Brendan 告诉我们,他一直认为 Kubernetes 只有在拥有一个生态系统的情况下才能取得更大的成功,而培养生态系统的最佳途径是将其开源。

这种观点主要关注围绕共同构建软件的社区。在早期,形成了一个了不起的社区,这些人帮助编写文档、制作教程,在会议上分享他们的工作,以及依赖于 Kubernetes 成功的公司生态系统。初创公司如雨后春笋般涌现,他们声称:“要使用我的监控软件,先决条件是你必须拥有一个 Kubernetes 集群。” 所有的关注和善意围绕 Kubernetes 形成了一种良性循环。

#05

成功往往看似容易

不久后,谷歌云的首席工程师 Kelsey Hightower 和 Brendan 共同撰写的《Kubernetes: Up and Running: Dive into the Future of Infrastructure》一书开始大量宣传,引起了对 Kubernetes 的关注。

回顾过去,人们可能会觉得这是容易的,因为 Kubernetes 就是如此迅速地占领了市场。现在,每个主要的公有云都采用了 Kubernetes,人们希望它出现在新系统中。然而,事实上,在早期的几年里,构建和传播 Kubernetes 需要付出大量努力。

Brendan 与我们分享了他对未来的期望,即 Kubernetes 的各个部分逐渐淡化成为背景。它会一直在那里,它会很重要,但在日常工作中不会被谈论或思考,因为正如他所说:“还有很多东西需要构建。”

延伸 · 阅读

精彩推荐