Kubernetes将在2018年统治超大规模数据中心

我们回顾了编排器平台在2017年巨大的成功,并且思考了超大规模数据中心在今年的发展方向。

至顶网软件频道消息: 超大规模故事的一半在于建设庞大的、之前没有的新基础架构。这个故事的另外一半是消除壁垒和障碍,这些壁垒和障碍让人觉得世界比实际的规模更小。

 Kubernetes将在2018年统治超大规模数据中心

VMware公司的首席执行官Pat Gelsinger于2013年在该公司的合作伙伴交流大会(Partner Exchange Conference)上表示:“(如果)工作负载都去了亚马逊,你就输了。”他表示,“我们想要拥有企业的工作负载,从现在到永远。”作为英特尔资深高管,Gelsinger在五年前总结了云计算的现状:亚马逊正在努力地将数据中心围绕的轴心转移到自己的公共云空间中。VMware将自己视为是这个宇宙的中心,并试图捍卫和巩固自己的地位。

到了2017年,就构成现代IT基础架构的数据中心和云平台而言,Gelsinger担心会永远失去的那些工作负载调整了自己的轨道,开始围绕着别的东西旋转了——可是这个中心并不是亚马逊。

整改

去年十一月,我们首先推出了Scale,这是一系列深入数据中心和云平台新领域的旅程,在这些领域中,今天的应用程序和功能已经得到了培养和安置。这是一个信息技术的世界,其规则刚刚写就,谁是领导者而谁又是追随者还没有确定。然而,在这个系列中,现在要回顾我们共享过的时代还为时尚早。

然而,如果Scale自去年1月以来就已经存在,那么这个反复出现的主题就已经显露出:他的、新的超大规模领域围绕着的轴线不是一台打包的计算机或设备,也不是任何品牌化的软件或应用程序。而是工作负载,这是企业用户和消费者所定义的。如果这家使用了公司名字的出版社想要出版一本250页的精美杂志概括现代IT时代,就像《PC Magazine》和《MacUser》在20世纪80年代所做的那样,那么它的名字应该就叫作“工作负载”( Workload)。

“VMware”中的“VM”代表的是虚拟机(VM)。这个逻辑设备成为组织在云平台上部署应用程序的第一个工具。虚拟机引起了对可移植性的需求——本质上是在任何地方部署应用程序。但是VMware很聪明地通过部署和管理虚拟机的方式来控制利益,使得vSphere成为所有入站道路的有效监督者。

Docker是第一个将可移植性作为商品提供给数据中心的公司。在2013年,他们设计了一个容器机制,将工作负载打包,使其独立于支持虚拟机的、庞大的操作系统,这样,它们就可以通过Linux内核而不是虚拟机管理程序进行管理了。这是很多组织信赖的革命性的理念,但Docker实际上实现了这种理念,并应该得到认可。

Docker的出现最初是由满心疑虑的企业遇到的,这些企业的疑心病程度超出了我们愿意承认的范围,即使是在今天也是如此。几乎是立刻,通常的假设是会出现一个围绕着Docker容器的市场,从旧的PC世界中借用模板。在旧的PC世界中,软件市场是围绕着格式和兼容性形成的。自然,假定继续推论下去,就会有相互竞争的格式,然后是市场的摇摆,然后Docker或者是其他更大的竞争对手,会踏着其他人的尸体站起来。

但是,便携性只有在无处不在的前提下才是有用的。在2015年,Docker公司进行了一场大胆的赌博,将其整个容器格式捐赠给了Linux基金会(Linux Foundation)支持的一个开源项目。这个现在被称为开放容器行动(Open Container Initiative,OCI)项目背后的赌注是:Docker可以继续前进,并尝试围绕这个容器格式建立增值,要付出的代价是可移植性——这是任何人会使用它的主要原因。相反,该公司开放了这种格式,让竞争对手没有明确的理由在这里进行竞争,将自身的未来押注在部署和维护容器化工作负载机制的价值上。

谷歌马不停蹄地(这一点可以从发布的日期上看出端倪)推动组建了一个独立的基金会:云原生计算基金会(Cloud Native Computing Foundation,CNCF)。它同OCI有几个相同的成员,但是专注于成员希望寻求竞争优势的那些容器化工作负载的问题:部署和管理。紧接着,CNCF推进了Kubernetes的事业,该编排器将谷歌的工作负载分段(最初被命名为“Borg”)概念同Docker容器结合在一起了。红帽公司(Red Hat)将围绕着Kubernetes彻底重建其OpenShift PaaS平台,而CoreOS则将其业务重点转向Tectonic——Kubernetes的商业化版本。

CoreOS公司生产Kubernetes的商业分销版本Tectonic,该公司的首席技术官Brandon Philips对ZDNet解释说:“Kubernetes允许你做的是声明你希望存在的数据中心的状态。”他表示,“实际上,所有的一切都是始于用户的声明。我说我想要五个容器存在,然后由集群里的机器来真正完成这项工作。”

Kubernetes的发展之路

就像不断倒下的多米诺骨牌一样,绝大多数容器化的利益相关方在2017年都将他们的部署和管理战略转向了Kubernetes,其中也包含了Docker公司本身:

Ÿ   4月份,OpenStack托管云管理服务提供商Mirantis宣布将Kubernetes集成到其云平台1.0(Cloud Platform 1.0)中,承诺将分级和供应机制的重心从以安装人员为中心的模式转移到以工作负载为中心的模式。

Ÿ   同月,微软的Azure仍然继续以前所未有的方式转向开放(非专有)分段平台,该公司收购了基于Kubernetes的容器部署平台制造商Deis,其后不久,Deis的技术就出现在了Azure上。(微软已经在2016年6月从谷歌手里抢走了Kubernetes的创始人Brendan Burns。)

Ÿ   5月份在波士顿举行的OpenStack峰会OpenStack Summit)上,OpenStack社区的大多数领导者聚集在一起,承认Kubernetes是其私有云模型中容器化工作负载事实上的分段环境。仍然有待解决的问题是,是Kubernetes还是OpenStack应该驻留在虚拟基础架构的最底层,还是应该针对逐个客户合理地解决这个问题。

Ÿ   几乎在同一时间,IBM为其云容器服务(Cloud Container Service)推出了Kubernetes支持,承诺为客户提供一种方法能够立即无缝地启动Docker容器。

Ÿ   Oracle在六月初承认Kubernetes是其新的容器分段策略的核心,在开放源代码会议上展示新的关系,这(对Oracle来说)是前所未有的行动。CoreOS——Docker的竞争对手,同时也是名为Tectonic的商业Kubernetes环境从诞生之日起的生产商——将把其最小化的Linux内核贡献给合作伙伴,让Oracle自己的Linux被一脚踢开。

Ÿ   6月晚些时候在Cloud Foundry峰会上,这家支持云原生应用程序开发平台的基金会发布了Kubo,这是一种在传统机器内部分级多个Kubernetes负载均衡实例的工具。8月份,VMware和姊妹公司Pivotal与谷歌建立合作关系,合作生产Pivotal Container Service(PKS),这是针对Google云平台(Google Cloud Platform)的Kubo定制商业版。这一消息的发布就在亚马逊和VMware宣布建立合作伙伴关系的一天之后。最值得注意的是,在整个PKS发布会期间,“Docker”这个词一次都没有被提到过。 (10月份,Kubo项目更名为Cloud Foundry Container Runtime。)

Ÿ   在八月初,亚马逊(Amazon终于押上了自己的赌注,加入了云原生计算基金会(Cloud Native Computing Foundation——支持Kubernetes的非盈利组织),并承诺做出实质性贡献。

Ÿ   为了提高自己的股份份额,Oracle于9月中旬正式加入CNCF。

Ÿ   9月中旬,非常令人吃惊的是Mesosphere——名为DC/OS(其支持者们通常会对Kubernetes持有反对立场) 的、Apache Mesos商业版本的制造商——宣布整合这两个平台,至少在测试版中进行整合。Mesos的架构允许支持其他环境的自动配置框架,包括Hadoop和Apache Spark,可以作为基本自主的子系统。Mesosphere没有给出这样做的明确用例,只是为类似Kubernetes使用的框架打开了大门,并引用了客户的需求。

Ÿ   最后,首个表明这场比赛即将结束的迹象出现了:在十月中旬,Docker公司——现在由新任首席执行官执掌——宣布该公司将开始在其品牌下的Docker平台上,提供Kubernetes,将其作为自己的Docker Swarm同等的分段平台。该公司的市场营销经理在接受《The New Stack》的采访时坚持表示,Swarm仍然可以在Kubernetes驱动的环境中令人信服地保持存在,也许是作为一个安全层。

Ÿ   在十月底的下一次行动中,微软推出了专门的Azure容器服务(Azure Container Service,AKS)的预览版,Kubernetes不仅占据了中心位置,而且占据了这个产品的中间字母。不久之后,该公司的市场营销和网站给出了其Kubernetes平台的参考范例,将其基于DC/OS的容器分段平台放在一边作为替代方案。

Ÿ   同月,思科也宣布跟进,通过Kubernetes,在其基于ACI的数据中心架构和谷歌云(Google Cloud)之间推出一款名为Goodzilla的网桥。

Ÿ   11月底,另一只靴子终于落地了,亚马逊正式推出了自己的AKS容器服务,其AWS云与Google和Azure齐头并进。

前方的道路

从市场角度来看,所有这些发展都表明谷歌已经成功地抓住了通往数据中心有效容器化所有道路的控制权。如果没有可移植性,没有分段和编排环境,容器就毫无意义。而分段和编排环境如果无法做到无处不在,对数据中心的客户来说,价值就会大打折扣。

微软是第一家证明了通过贬值其核心资产获取市场这种做法的有效性的公司,当时它让Internet Explorer成为免费产品,并迫使Netscape同其平台辅助元素的价值进行竞争。表现得很聪明的Docker尝试了一个类似的策略,它开放了它的容器格式,让这个级别的竞争变得毫无价值。

但是,Docker还没有建立自己的增值平台——被贬值的核心所连接的、更大的平台。Docker的基于群集的编排平台Swarm还不够成熟。即使在Docker做出这个决定的时候,Kubernetes可能也不太成熟,但它有自己引人注目的设计元素:将相关的容器分组成相应的容器。红帽(Red Hat)将首先利用OpenShift来展示这一元素,这一举措又使得Kubernetes对开源贡献者变得更具吸引力。在Docker移动创建OCI之后,谷歌火速地允许Linux基金会(Linux Foundation)建立CNCF,两者的成员大部分都是由同一批人组成的,这一事实确保了OCI的设计不会出乎CNCF的意料。保证了Kubernetes在讨论桌上的位置。

尽管Kubernetes并未正式使用谷歌的商标,但是该编排器不仅继承了谷歌遗产,还继承了它的培育。该公司的计划似乎是引导着这个平台进一步朝着不让任何容器化行动绕过它的方向前进。

以下是一些正在进行的进展,它们肯定会在2018年让Kubernetes受益:

Ÿ   容器存储接口项目,最近得到了戴尔技术公司(Dell Technologies,戴尔EMC的母公司)的支持,该项目承诺提供微服务——其寿命可能会非常短暂——持久连接数据库和存储卷。使用CSI接口,任何打开这种持久连接的API都可以同等地通过三个主要协调器:Kubernetes、Mesos(DC / OS)和Swarm进行寻址。它目前由Moby提出,Moby脱胎于Docker最初的开放源代码行动,但现在正在为自己寻找独立的方式。对于Kubernetes而言这是非常有利的,开源数据插件这个主题将不再是Docker领域的原生特性。

Ÿ   一个让Kubernetes直接连接到容器的项目正在推进,完全地绕过了Docker引擎(Docker Engine)。这个名为CRI-O的项目使用了Kubernetes的原生容器运行时接口(Container Runtime Interface),让编排器通过其自己的原生API(一个被称为“运行时”的可寻址组件)对容器进行实例化。目前在很多数据中心中,生产环境都使用了Docker Engine作为编排器和运行时之间的媒介;CRI-O给Kubernetes(只针对Kubernetes)提供了一种将Docker完全踢出生产环境的方法,只把它放在开发人员的工作台上就可以了。

Ÿ   一个名为Kata的基于虚拟机管理程序的容器环境将和另一个与Docker竞争的、名为Hyper的平台加入英特尔的Clear Containers项目。Kata可以为数据中心提供编排和部署工作负载的方法,想将Docker完全踢出局,同时还能够实现基于容器的工作负载和第一代虚拟机之间的共存。OpenStack基金会(OpenStack Foundation)现在支持这个项目,它将Kubernetes作为其主要编排器。

然而,Kubernetes前进的路上仍然面临着巨大的挑战。具体来说,它可能变得如此地无处不在,如此地标准化,以至于任何供应商或开源贡献者都难以围绕着它创造竞争优势。

F5 Networks的主要技术传播者Lori MacVittie是这样解释这种情况的:我们已经超越了发展网络和分布式系统的阶段,MacVittie相信,专有方法或者多协议的选项都是可行的,而且都在进行市场推广。正如VMware的Pat Gelsinger所说,除了编排和打包自己的工作负载容器的组织之外,没有人能够“从现在到永远地拥有工作负载”。可以说,规模的另一方面是强制一致性的危险 ——实质上,建立一个如此容易被商品化的平台,让任何参与的供应商都不可能获得竞争优势。

MacVittie对ZDNet表示:“实际上只有两种选择。” MacVittie表示,“你可以写出一个非常明确、严格而固定的标准,让每个人都要遵守这个标准才能实现互操作性,而且在很多情况下,这是一件非常好的事情。或者你可以给人留下空间,允许他们以不同的方式做事情,这样就会破坏互操作性。当你开始缩小标准时,这就是问题。今天,建立一个IP包的方法只有一种,因为我们基本上把它缩小到‘它是怎么工作的’,如果你不这样做,那么坏人就是,而不是所有执行这个标准的人。”

MacVittie继续表示:“因为事情变化得非常大,我认为我们必须让它开放。” MacVittie表示:“在局面安定下来之前,大约至少还需要五六年的时间,但是还是有这么多路要走。锁定下来会扼杀成熟和前进的动力。”

这一举措是否会对谷歌最为有利目前仍不明朗。Kubernetes的成功让微软现在面对着巨大的风险。在Kubernetes方面,三大云计算供应商齐头并进,每一家供应商都将需要发现自己独特的增值点——让自家的云服务比其他公司的云服务更具吸引力。谷歌可能会与Pivotal和VMware合作,也会和思科合作,为该公司的客户提供选择的便利。

但是,无论何时,只要你是服务供应商,你的收入和成功都来自于在合适的时间、通过合适的转门闸机,引导你的客户选择最能带来利润的产品和服务。当客户有替代路线的时候(苹果公司对此只怕比任何人都有更深刻的体会),市场就更加难以控制。

对于数据中心来说,Kubernetes的突然出现意味着:过去,基于公共云的PaaS平台——例如Heroku和原来的Windows Azure——都只对它支持的资源和语言才有用。有了Kubernetes,平台应该支持的所有功能都在容器内部,而不是在容器外部了。这有助于在一定程度上实现服务供应商均质化,因为如果你愿意,他们现在都可以提供相同的界面来获取和托管客户的工作负载。它也缩小了这些供应商在服务上彼此竞争的空间。每当一个市场开始变得商品化,幸存者就会是那些能够在价格上竞争的人。

2017年,Kubernetes的风头可能已经完全盖过了Docker。但是这不能保证谷歌或者任何其他人能够在2018年成功。

来源:ZDNet

0赞

好文章,需要你的鼓励

2018

01/04

18:09

分享

点赞

邮件订阅