访青云技术专家:聚光灯下的Kubernetes

avatar
作者
筋斗云
阅读量:0

200秒左右就能部署一个Kubernetes集群? 这是真的吗?笔者一听到Kubernetes集群可以这么快部署起来,也是一样的“Excuse me?“的惊讶表情。毕竟,Kubernetes的学习成本很高,正常的部署过程相当复杂,还会不可避免地踩到很多坑。

在7月底结束的QingCloud Insight云计算峰会上,QingCloud发布了Kubernetes on QingCloud。这个产品最大的亮点是,通过Kubernetes on QingCloud,200秒左右就能部署一个Kubernetes集群,大幅度节省Kubernetes部署和运维的时间。在发布不久之后,笔者采访到了青云QingCloud容器平台负责人王渊命和青云QingCloud基础设施产品经理李建盛,通过一个多小时的分享和采访,深入地了解了QingCloud对容器与容器编排服务的理解与规划,以及他们对于未来云计算发展走向的看法和预测,他们的很多观点新颖而奇特。

应用标准化和容器的诞生

“希望像用水和电一样使用计算资源”。在过去的10年间,第一批云计算的先行者打破了传统技术的垄断,以云的名义给予了广大用户们计算资源的自由度。虽然,现在离这个口号性的目标还有一定的距离,但是蓬勃发展的云计算平台,已经使企业级IT市场格局变了天。就如王渊命所说的,“为什么需要云?没有云怎么做互联网创业?这个问题放在2017年,已经成了大家默认的选项。”

青云QingCloud容器平台负责人王渊命

IaaS云应运而生,并解决了按需购买、接管硬件资源运维,资源管理可编程化等一系列问题。然而,像用水用电一样的用户对云的终极期望并没有完全被满足。“用户对云的期望很简单,能否只关心业务逻辑,别的事情都由云来做。”王渊命说。

IaaS层接管硬件,在上面提供数据库、缓存、大数据等PaaS的应用,也提供了对象存储等SaaS类的服务。但应用除了业务逻辑,还要有监控、日志处理、部署和交付、自动化运维、高可用、链路追踪等,这些事情能否都由云平台支撑?答案是很难。因为每个应用程序的监控、日志、部署、架构,需要的性能都不一样,当所有这些都能统一的时候,才能由云来支撑。这时候,容器就发挥价值了。

可以用一个词概括容器的主要作用,就是“应用标准化”。应用需要改造,适应云,才能标准化。有了容器和编排系统,就可以做运维部署的标准化。青云QingCloud基础设施产品经理李建盛认为,容器的产生是为了充分利用计算机多余的资源。

青云QingCloud基础设施产品经理李建盛

虽然说,容器技术从20世纪初开始产生,但是2013年才形成一个分水岭,突然开始红遍天下,可以说都是Docker的功劳。正如它的名字,Docker像集装箱似的能够装载所有应用,把应用容器化、版本化以及标准化,从而彻底地改变了软件构建方式和交互方式。“就像改变运输方式的集装箱,能够为货物运输节省船只空间,提供大量的运输服务。”李建盛说。

访青云技术专家:聚光灯下的Kubernetes

容器演进路线图

下一代云:云与容器的结合?

容器是面向应用的,IaaS是面向资源的。那么,“不同性格”、”不同使命“的IaaS和容器怎么去结合?如何一起愉快地玩耍?据王渊命介绍,目前业界几乎所有的做法是在IaaS上搭一套容器平台,包括Google创造的Kubernetes,谷歌也在IaaS云上布一套Kubernetes,让用户的应用跑在Kubernetes里。但是这样做也不是一劳永逸的,仍然会遇到一些挑战,这些挑战来自于资源隔离、调度、存储、网络、计费、容灾等层面上。以调度为例,IaaS层本身是用来调度VM的,容器的调度层是在VM里调动容器,从而多了一层调度。导致IaaS层对应用层的调度无感知,它很难针对应用做调度的优化。

访青云技术专家:聚光灯下的Kubernetes

“如果有一种COE(容器编排引擎),云上的容器编排引擎和本地的容器编排引擎是一致的,API也是一致的,在其他的云上的API也是一致的,就能够实现下一代的云。本质上变成了容器编排引擎的调度器,下面接管了硬件资源,上面提供各种XaaS(X as a Service),就能实现下一代云。”王渊命说。

Kubernetes成了绝对赢家?

一提起容器,离不开的两大TOP关键词就是Docker和Kubernetes,关于Docker,不再本文过多论述。Kubernetes作为当前三大核心容器集群编排工具之一,和Mesos和Swarm一起,背后各有各的资助者,本应“三分天下”,但从容器编排工具目前的格局上来看,Kubernetes占据了大半壁江山:世界前三大公有云厂商,Azure、AWS和Google全部支持Kubernetes,对于和开源有很深渊源的青云QingCloud,也并无例外地选择支持Kubernetes。

访青云技术专家:聚光灯下的Kubernetes

容器编排工具格局

“Kubernetes可以认为是服务器端的Android,目前它遇到的场景跟不到10年前的Android遇到的场景类似。”王渊命说。在他看来,Kubernetes的顺风顺水是有几方面原因的:由于Kubernetes是开源的,又是基金会的模式,有社区和厂商的广泛参与,且允许第三方厂商以盈利模式提供服务,不会以某一家厂商独占。Kubernetes专注于API以及应用规范的制定,实现方式和应用性能可以不一样,面向用户的API和规范却是一样的。此外,Kubernetes有灵活的扩展性,同时又有避免了社区分裂的机制。

一个好消息

本文的开头提到,在QingCloud Insight 2017云计算峰会上,青云宣布推出了Kubernetes on QingCloud。Kubernetes通过QingCloud AppCenter交付,5分钟之内即可完成部署,与QingCloud IaaS平台深度集成,充分整合SDN(软件定义网络)和SDS(软件定义存储)能力,提供极致的底层性能保障。

另据笔者了解,青云在容器领域的进展还不止于此。2016年11月,青云推出了以一套架构同时支持虚拟化和容器的技术,并推出了SDN网络直通服务(SDN Passthrough),使运行在虚拟机上的容器直接使用IaaS平台的SDN能力。QingCloud PaaS服务率先应用容器技术,最高实现500%的性能提升。此外,QingCloud还联手Rancher、希云等容器领域的合作伙伴,基于AppCenter为用户提供丰富的容器服务。

王渊命具体分享了青云QingCloud在Kubernetes的实践路线:

首先,青云是作为Cloud Provider支持Kubernetes。青云把Kubernetes的规范和自己的平台做整合,并开源相关的插件,同时在青云AppCenter提供一致的Kubernetes服务。即,用户可以直接使用青云提供的Kubernetes服务,也可以自己搭建Kubernetes并安装青云开源的插件,两种方式是一样的。

其次,在云上提供Kubernetes的集群应用,目前已经上线,1.7.4新版将会在9月初上线。

此外,由于Kubernetes至今专注于制定标准,其目的是让应用适应Kubernetes,而不是去适应应用,而大多数应用是在Kubernetes之前产生的,很难快速迁移到Kubernetes上。青云尝试扩展Kubernetes规范,让Kubernetes支持更多的应用。为了实现这样的目标,可以借助青云QingCloud的AppCenter,其上已有上百款应用,积累了丰富的应用搭建经验。QingCloud AppCenter作为“黏合剂”或者解决方案,以便不同模式的各种应用和Kubernetes的规范快速融合,从而让Kubernetes支持更多的应用。

写在最后

虽然经历了过去10年的蓬勃发展,云计算的美好未来还没有真正降临。“下一代云”、“云计算的2.0时代”….这类的预测不断有人提及,可以肯定的是,容器在其中将不可缺席,十年云计算之战,有很多先驱和突围者诞生。云计算的下一个十年,不管是作为参与者或是围观者,这个过程都会很有趣。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!