Kubernetes 诞生七年,凭什么成为主流?

引言

作为一款开源的容器编排引擎,始于2014年的Kubernetes一经推出就受到了开发者的喜爱,在此之前,从来没有人想过能有一个同时被所有云供应商支持的分布式应用。在Kubernetes里,用户可以轻松地在虚拟机及硬件上运行程序,让开发者彻底摆脱过去以主机为中心的环境。Kubernetes在市场中并不是唯一的容器管理平台,但它支持用户只需要编写一次就能在所有类型的云供应商及私有云上运行,开发人员可以快速部署、随时拓展应用程序,同时降低了硬件的使用量。

经过了七年的发展历程,Kubernetes成为继Linux、Docker后*受欢迎的第三大平台的同时,也俨然已经成为云计算领域的主流应用。

近日,CSDN采访了VMware应用现代化业务部门研发副总裁、Kubernetes创始人Craig McLuckie,VMware首席工程师、Kubernetes创始人Joe Beda,VMware中国研发技术总监、CNCF Harbor开源项目创建人张海宁,邀请他们分享了Kubernetes的发展动态以及开源项目的成功秘诀。

1

容器与虚拟机的结合是必然趋势?

Kubernetes诞生七年,你认为它成功的秘诀是什么?

Joe Beda:Kubernetes在诞生之初我们就知道它在将来会有怎样的发展潜力,应该向什么方向发展。宛如儿时玩的拼图游戏,我们不仅有完成这个拼图所需要的所有部分,而且有完整的图纸。Kubernetes和其他项目相比,*大的不同之处在于:它是在正确的时机推出正确的创新。

更重要的是,我们在创建了Kubernetes之后吸引了更多人加入其中,把Kubernetes做成了一个社区,Kubernetes今天的成功正是靠后期集体的力量携手努力做到的,正如“独行快,众行远”这句谚语一般,这才是Kubernetes成功的关键。

随着云计算技术的应用与发展,未来容器会颠覆虚拟机吗?

Joe Beda:容器和虚拟机分别满足了不同的需求,但如果把这两个技术结合在一起,通常能够带来不错的结果。

虚拟机从一开始部署的时候就能实现很高水平的隔离,而且每一个虚拟机都有自己的内核,不会出现内核共用的情况。从安全的角度来看,界定清晰的安全边界能够让用户在使用的过程中更放心。

容器与hypervisor相比,它的优势在于启动和关闭都非常快速方便,和虚拟机相比,容器是一种更加轻量级的技术,多台容器可以共享同一个内核。另外,它的一个显著特点在于容器镜像方面,我们可以把同一个容器的镜像运行到笔记本电脑或者Kubernetes集群之上,而同一个容器的镜像在不同环境当中它的工作表现是一模一样的,这样当开发者跨越不同的环境进行开发就带来了使用上的便捷。

而且我们现在也看到越来越多的用户把容器和虚拟机放在一起来运行,就像我们此前讲到的这两个技术之间具有很强的互补性,这样一种部署能够让用户把两个技术的优势都发挥出来,比方说更高的开发效率、可移植性以及安全隔离等等。

%title插图%num

VMware首席工程师

Kubernetes创始人Joe Beda

VMware有没有计划推出容器本地的虚拟化?

Joe Beda:答案是肯定的,但我们是用不同的方法来实现的。比如说我们在vSphere 7当中内置了VMware本地的PODs,也就是说通过hypervisor来支持Kubernetes Pods。另外一个技术路径就是在Kubernetes的平台之上来托管虚拟机,长期以来VMware做了大量的投入和创新来不断完善hypervisor。

2

Kubernetes未来的发展方向

传统应用是通过购买成熟解决方案的方式获得的,我们选择现代应用的过程中应该直接选择购买还是自建应用程序呢?

Joe Beda:对于任何一个企业来说,无论是选择购买还是自建应用程序都要基于具体的业务需求以及市场上的现有产品来决定。今天我们看到,有越来越多针对Kubernetes的现成软件解决方案,打造现代化的应用程序不光是一个技术上的转型,也是一种文化上的转型。开发团队和运维团队之间一定要养成互动和反馈的良好习惯,这样才能帮助企业不断推出和构建可扩展性更好和可靠性更高的现代化应用。

Kubernetes有没有考虑过取代vSphere?未来发展方向在哪里?

Joe Beda:现在说Kubernetes替代vSphere肯定是为时过早的,我们认为Kubernetes和vSphere是互补的技术,而不是互相替代的技术。*初在创建Kubernetes的时候,考虑的就是将来要让Kubernetes运行到某种底层的基础架构之上,比如Google Compute Engine。所以今天我们看到Kubernetes无论是在Google Compute Engine还是在Amazon Elastic Compute Cloud (EC2),亦或是在VMware的vSphere上,都能够运行。

Craig McLuckie:事实上Kubernetes已经成为了一种新型的基础架构及服务IaaS的平台,这样就为用户带来了很多的机会,能够对他们任意环境当中的运维和开发工作进行标准化。而且对于Kubernetes来说,我们不仅是要把Kubernetes作为一个“终点”,也可以在构建任何一个目标系统的过程当中利用Kubernetes产生更多的效益。

%title插图%num

VMware应用现代化业务部门研发副总裁

Kubernetes创始人Craig McLuckie

3

如果构建一款成功的开源项目?

VMware Habor与Kubernetes一样,都是开源成功的典范,为什么会选择开源? 

张海宁:现在开源其实是一种主流的社区协作模式,当时将项目开源其实有两个目的。一是希望能有更多的用户来使用这项技术,对此进行反馈的同时方便我们检验市场的成熟度,从而对项目不断地优化。如果是闭源的话,其实很难迅速地获得大批量的用户。第二点,做开源是不是就意味着没有商业化的潜力?答案也不一定。开源以后,其实还是可以从中获取很多的商业价值的。Harbor本身是免费的,但是产品是要有企业去支持的,这二者之间并不矛盾,反而是一个互相配合的事情。

%title插图%num

VMware中国技术研发技术总监

CNCF Harbor开源项目创建人张海宁

Habor作为首个原创于中国的CNCF毕业项目,有哪些经验可以分享?

张海宁:首先,Harbor是可信的云原生制品仓库,*早其实它叫做企业级的镜像管理仓,是由VMware中国研发中心原创的一个开源项目,与Kubernetes一样,Harbor今年也7岁了。

CNCF的开源项目其实分了很多个级别,不同的级别代表不同的用户认可度和成熟度。*开始Sandbox沙箱是入门级,中间有一个Incubation孵化级,*后是Graduation毕业级。每一个项目在不同的级别中逐渐走向成熟,毕业级的考核是相当严格的,只有认证、检查、审计等等各个环节都达到要求以后才能毕业。同时毕业也意味着得到了国际开源组织对它的认可,在后面可以投入到生产环节中。