从诞生到主流,Kubernetes“7岁”之际对话开源
云原生概念已经得到了社区、企业和市场的广泛认可,并且在众多行业和领域有了许多落地的案例。而在云原生领域的大部分关键技术,比如容器引擎、容器编排Kubernetes、Docker镜像仓库Harbor,都来自于开源社区。
开源社区是云原生技术的创新源发地,所以,企业拥抱云原生技术也是拥抱开源社区的一个过程。毋庸置疑,开源在国内已经成为主流。
2021年6月7日,Kubernetes的7岁生日。
当初在谷歌内部Kubernetes起步的时候,它的项目名称就叫Project 7(意为“七号项目”),Project 7这个名字是来自于科幻电影Star Trek(星际迷航)提供的灵感。
Kubernetes是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。其拥有一个庞大且快速增长的生态系统,服务、支持和工具广泛可用。Kubernetes 这个名字源于希腊语,意为“舵手”或“飞行员”。现在,Kubernetes通常被简称为你“K8s”,因为K和s之间有8个字符的关系。
2014 年,Google开源了Kubernetes项目。在 Google十几年的大规模运行生产工作负载的经验基础上,Kubernetes被成功创建,以致其结合了社区中最好的想法和实践。
企业IT压力来自于多个方面,首先是要面对现有技术与全新技术如何有效集成。伴随着越来越多的人使用Kubernetes,不断向前推进,在Kubernetes,特别是整个CNCF框架的工作过程当中,围绕着Kubernetes出现了大量的创新,而这些创新已经在帮助用户解决实实在在的问题了。
但是众多的创新也为企业带来了复杂性和挑战。从企业的角度来说,部署Kubernetes的时候碰到的复杂性主要体现在两个方面:首先是如何能够以一种可扩展的方式迅速运行操作Kubernetes,另外一方面,复杂性来源是如何让广大的开发人员能够轻而易举地用上Kubernetes。
有幸,笔者在K8s“7岁”的时候采访到了Kubernetes的创始人Craig McLuckie和Joe Beda,他们现在分别是VMware应用现代化业务部门研发副总裁和VMware首席工程师,以及VMware中国研发技术总监、CNCF Harbor开源项目创建人张海宁,请他们来解答、解读K8s的未来,以及中国企业如何更好利用开源的红利。
在回答问题之前,我们有必要先看一下K8s的的现状。
据《VMware 2021年Kubernetes状态报告》显示,Kubernetes势头的一个重要标志是转向生产,从2020年报告中的59%增长至今年的65%。拥有超过500名开发人员的大公司更有可能运行全部或大部分容器化软件生产工作量(78%)。
几乎全部接受调查的人(98%)都能清晰地看到Kubernetes的巨大益处。今年的状态报告显示,最大的好处是提高了资源利用率(58%),其次是更方便的应用程序升级与维护(48%),险胜去年报告中的第二名“缩短了软件开发周期”,今年其位居第三(46%)。
Kubernetes的优点之一是可以在本地或云上运行集群,并可以使容器化工作负载在不同集群间轻松移动,这大大推动了公司的云迁移工作。39%的受访对象选择了“推动了向云的迁移”,33%受访人选择了“开启了混合模式”,28%的人认为K8s“降低了公有云成本”,后者很大程度上是由于K8s使资源利用更高效、更有弹性。
正如Craig McLuckie所说,“通过VMware Tanzu,我们能够让客户根据他们现在所处的阶段来部署Kubernetes,可以用Kubernetes来补充和增强他们在技术上已经作出的投资,并且能够帮助他们对现有的应用程序进行现代化改造,按照他们自己选定的速度和步骤,同时也能够让他们通过Kubernetes,使已有的数据中心能够得益于各种最新的创新。”
VMware应用现代化业务部门研发副总裁 Craig McLuckie
那么,关于K8s和开源的种种疑问,也将在本文中一一解答。
【疑问一:Kubernetes、容器和现代化应用未来的发展走势如何,对于企业IT会有哪些影响?】
Craig:我觉得回答这个问题我们首先要认识到这样一点,这就是——事实上Kubernetes已经成为了一种新型的基础架构即服务,也就是IaaS的平台,这样就为用户带来了很多的机会,对于他们目前处在任意环境当中的运维和开发工作进行标准化。而且我们看到对于Kubernetes来说,我们不光要把Kubernetes作为一种最终的终点,也就是说,最终让自己的应用程序去运行在其之上的一个终点平台,也可以在构建任何一个目标系统的过程当中,使用Kubernetes去产生更多的效益。比方说通过Kubernetes来进行基础架构级的资源分配,像容器的分配和优化,并且通过智能化管理的功能,基于应用程序和应用程序的模式来实现。
【疑问二:对于Kubernetes,如何在虚机还是容器,云环境运行还是裸金属之间进行一个比较?】
Craig:首先如果我们把容器和虚机做一个比较的话,可以说他们是去满足不同需求的。但是,如果把这两个技术结合在一起则能够带来非常优秀的结果,也就是说,从虚机的角度来说,它在任何一个基础架构的环境当中,能够带来更高密度的操作;而Kubernetes平台能够帮助我们去管理很大数量的虚机。可以说,这两个技术他们既能支持不同的需求,放在一起也是能产生非常好的效果。对于一些客户来说,确实是需要一个裸机Kubernetes的部署类型,我们在和客户合作的过程当中也是给他们留出了这样一个机会和选择。
VMware首席工程师 Joe Beda
Joe:我再补充一点,实际上Kubernetes在那种可自动化的基础架构之上管理起来是最简单的,而虚机实际上就是提供了一种可自动化或者可编程性能最好的基础架构。比方说,这样一种基础架构对硬件的自动化的能力仍然是在一个发展演进的过程中,而且有时候客户所需要的资源规模和他们的物理机所具备的能力这两者之间是不匹配的,通过虚机,我们能够帮助用户去创建一个符合规模需求的基础架构环境来运行他们的集群和工作负载。
【疑问三:对于用户来说,最重要的不是Kubernetes和开发的过程,他们更想要的是应用结果。有什么样的建议能够给用户,帮助他们快速构建应用?】
Joe:对于任何一个企业来说,所需要的应用程序是购买还是自建都是必须面临的选择,基于具体的业务需求,也基于市场上有哪些现有的产品。今天,我们在市场上看到有越来越多的针对Kubernetes的现成软件解决方案可以获取,也就是说,在构建现代化应用程序的过程当中我们看到Kubernetes本身也在成为一个越来越有吸引力的市场细分,有越来越多的现成解决方案就是针对Kubernetes环境的。
同时,我们认为打造现代化的应用程序不光是一个技术上的转型,也是一种文化上的转型。开发团队和运维团队之间一定要养成互动和反馈的良好习惯,这样才能够帮助一个企业不断推出和构建可扩展性更好和可靠性更高的现代化应用。从这个角度来说,像使用Spring Boot这样的框架以及通过VMware Tanzu能够帮助开发者进一步提高他们的开发效率,而且我认为这种开发团队和运维之间的密切合作在让一家企业具备打造现代化应用程序过程当中发挥的作用是不可或缺的。
【疑问四:K8s对VMware未来的技术架构有哪些影响?】
Craig:首先,我们已经把Kubernetes内置到vSphere当中,让那些基于vSphere打造技术环境的企业或者是过去主要是在虚机环境当中的企业,也能够得益于像Kubernetes这样的最新的技术;第二,我们通过把Kubernetes内置到vSphere当中,也能够让Kubernetes的基于API的管理模式得到运用,能够在一个统一的环境当中对容器和虚机来进行管理;第三,vSphere对于Kubernetes本身也起到了加速的作用,vSphere不光使得容器启动更快,而且特别是对一些高资源密度的环境能够带来性能明显提升,这样也就带来了一个充分把Kubernetes运行在vSphere之上的理由。
在今天,我虽然没有具体的未来产品技术要分享,但回答这个问题我主要想讲两个方面——首先一个更加优秀的基础架构必须要带来更加优秀的Kubernetes的体验,而更好的Kubernetes体验会带来更好的服务和更高的效率,所以围绕着这个领域我们将来会看到VMware通过把Kubernetes和vSphere结合在一起,在这个方向上会有越来越多的创新。另外一点是大家也千万不要把VMware看作是仅仅专注于基础架构领域的技术,VMware现在也是在越来越多的让基础架构能够为开发者服务,特别是通过Tanzu产品组合不断地发展,将来会继续是一个生机勃勃的创新来源。因为我们给企业当中的应用程序开发团队、给那些针对生产环境做软件解决方案的开发者和操作人员、运维人员之间搭建了一个桥梁,所以将来大家也会看到来自于VMware越来越多的针对开发人员、针对提高应用程序开发生产效率的创新。
【疑问五:VMware有没有计划去推出容器本地的虚拟化,对于企业级的用户来说,这条路径是否可行?】
Joe:答案是肯定的,但我们是用不同的方法来做到的,比方说我们在vSphere 7当中已经内置了VMware本地的PODs,也就是说通过hypervisor来支持Kubernetes Pods,这样和一些云供应商,他们提供的这样一个容器本地的虚拟化是可以相比的。另外一个技术路径就是在Kubernetes的平台之上来托管虚机,这不是我们选择的方法,因为长期以来VMware也是做了大量投入和创新,不断去完善我们自己的hypervisor,因为我们认为要完成这个任务,我们具备最优的hypervisor,这是我们向客户交付这种解决方案的路径。
【疑问六:Harbor是什么?为何能成为中国原创的第一个CNCF的开源项目】
VMware中国研发技术总监、CNCF Harbor开源项目创建人 张海宁
张海宁:Harbor是可信的云原生的制品仓库。2014年,我们刚开始在实验室里做原型时,它名字是“企业级镜像管理仓”。它是VMware中国研发中心原创的一个开源项目,我们大部分的开发人员都在国内。2016年开源出来,在中国社区先用起来,后来又转到全球。中国用户非常喜欢这个软件,开源后的几个月之内,我们在Github上就已经达到了一千颗星。
Harbor是中国原创的第一个CNCF的开源项目,也是最早从CNCF毕业的中国的开源项目。Harbor能够帮助企业解决容器镜像的访问控制,以及一些安全、认证等方面的需求。
在CNCF,从入门级的Sandbox沙箱到中间的Incubation孵化级,最后才是Graduation毕业级,只有认证、检查、审计等各个环节都达到要求以后才能毕业。“毕业”不仅意味着得到了国际开源组织的认可,也意味着可以投入到生产环节中去了。
最新的一项CNCF用户调查显示,Harbor在全中国的用户在生产环境下的使用率已经达到了47%,这是在所有中国原创的CNCF项目里面是排第一的,这个使用率体现出了业界给予这个项目的高认可度。
一些企业正经历“成长的痛苦”——面临专业知识缺乏、部署过于复杂、新旧系统整合的挑战。
虽然已经走过了7年,Kubernetes社区已经发展壮大,Harbor作为VMware中国研发中心原创的一个开源项目也已经落地,但如何让两者更加简单易用,如何释放开源社区更多的创造力,这些仍是对于行业来说最大的潜在红利。也许,更精彩的开源故事就在不远的未来。
责任编辑:宋辰