王昕:OpenStack与Kubernetes的未来

个人简介 王昕,创业团队轻元科技的架构师,由ISC2认证的信息系统安全专家(CISSP)。王昕曾任VMware和IBM高级研发经理,从事了十多年SDN和PaaS等产品的研发工作。轻元科技基于OpenStack 最新版本,集成了Kubernetes容器编排系统,构建了第一个实现容器和虚拟机组合服务、统一管理的云平台,并为多个企业客户部署实施了基于该技术的私有云项目。

QCon是由InfoQ主办的全球顶级技术盛会,每年在伦敦、北京、东京、纽约、圣保罗、上海、旧金山召开。自2007年3月份首次举办以来,已经有超万名高级技术人员参加过QCon大会。QCon内容源于实践并面向社区,演讲嘉宾依据热点话题,面向5年以上的技术团队负责人、架构师、工程总监、高级开发人员分享技术创新和最佳实践。

   

1. 各位InfoQ的网友大家好,现在我们是在QCon2016北京现场,作客专访间的是轻元科技的王昕。第一个问题是这样的,我们注意到国内已经有很多公司开始绕开OpenStack了,你们轻元为什么会选择将OpenStack和Kubernetes集成在一起?

王昕:这个我在演讲中也介绍过,我们在跟客户接触时,尤其我们公司是用私有云对企业客户做解决方案的,客户有很多应用不适合迁移到容器上,尤其是一些有状态的服务。还有,本身容器服务毕竟对企业开发模型稍微有些改变,所以这种微服务架构也不是那么容易对所有用户都适用。我们考虑到还有很多客户要做虚拟机的迁移。另外,我们也了解到中国的整个云计算的虚拟化还不到完成的程度,还在百分之六七十、百分之五六十的程度,很多客户需要建立整个云体系虚拟化的平台,所以我们需要用openstack给它做整体的解决方案,包括虚拟机和容器组合的编排。

   

2. 也就是说背后的考虑不单纯是技术方面?

王昕:对,不单纯是技术。因为从技术的角度,现在容器有一些方向不是非常的明确,比如后台的数据库的有状态的服务,容器怎么样能够很好的做扩展,高可用以及IO高性能,现在并不是很明确。另外一个问题是从技术角度怎么让用户能够更好的使用他的业务,能够更容易的部署,并且保持业务的稳定性,这方面单纯用容器还不是能很好的解决,所以我们希望给用户做整体的解决方案,这样我们需要用到openstack的理念。

   

3. 根据罗杰斯的创新传播曲线,在您看来容器技术到了哪一个阶段?为什么您会这样想?

王昕:这个稍微有点抽象,我的感觉是很多技术是螺旋式的发展,我认为容器这个技术在构建和devops这个节点的认知程度已经是比较靠后的一个阶段了,但是对于容器未来在生产环境中怎么发展,这还是很初级的阶段,可以在第一阶段、第二阶段,就是说对于真正的生产环境怎么去应用容器,这个技术路线还不是特别明确,大家还没有达成一致,仍然是比较早期的。但是容器对于部署和应用打包的模型已经是第四阶段,大家已经接受这个东西了。

   

4. eBay其实也把OpenStack和Kubernetes做了整合,你有了解过他们的架构以及方案吗?

王昕:eBay它是把以前VMware的一些虚拟化程度迁移到openstack,下面也是用SDN的方案,它上层用的是Kubernetes,它的方案跟我们的方案比较类似。Kubernetes主要用来管理你的应用,下层的IaaS主要用openstack来管理,主要是这样的组织架构,跟我们现在的方案也是吻合的。

   

5. 能把它详细的讲一讲吗?因为上层Kubernetes是容器的编排,底下的openstack是基础设施管理。

王昕:openstack主要是为上层计算提供计算资源,我们常说的计算资源主要是计算、存储和网络,openstack主要是把以前物理机的资源变成虚拟化,然后可以通过API自动做编排管理的过程。再上一层,更靠近应用层的编排管理,比如容器,所谓的PaaS是把靠近应用层的服务通过kubernetes来管理。对于容器集群部署这一层,openstack和Kubernetes之间的集成有一个新兴的项目做Magnum来做管理,eBay使用这个项目对于Magnum的兴起也是有帮助的。他们选择了这个项目对它的支持也是很重要的。

我们企业也采用了不同的集群组织方案,其中也包括Magnum的部署,通过Magnum把Kubernetes集群自动部署到openstack。对于一个用户来说他可能关心的只是想要一个容器集群,用这个容器集群来管理应用,这个集群关心的是什么?就是这个集群是什么类型的,是支持高可用还是单例的,然后关心的是集群的性能,比如一个工作节点的CPU和内存是多大,需要几个工作节点。这里对于用户来说主要是需要做一个声明式的配置,配置这个集群是多少,做了这个配置以后部署集群,把Kubernetes集群自动部署到openstack,下面的申请资源和管理资源这个功能是由云平台做管理,是这样一个过程。其实eBay的方案跟我们的方案也是很类似的。

现在容器集群这块的部署我们有统一编排管理服务的接口,在部署容器集群的时候是可以跨平台的,也就是说后台我们对于不同的IaaS可以做相应的支持,现在一个私有云如果本身没有IaaS层基础设施服务云平台的话,我们可以用openstack为你搭建这种平台。如果你有虚拟机跑在AWS或者跑在微软azure上,我们可以用相应的编排软件来做部署。

我们也有另一种驱动的模式,比如HashiCorp做的terraform,它可以兼容不同的IaaS平台的虚拟机的部署,我们可以对它做编排。在轻元科技平台上面有一个统一的容器集群部署的接口,通过这个接口编排出你想要的集群。

   

6. 在轻元的架构中,OpenStack和Kubernetes各自负责哪些内容?

王昕:openstack首先是提供基础的IaaS服务,计算、存储这些虚拟化。因为openstack有很长时间,它也有很多成熟的项目切入到PaaS,比如数据库RDS的服务、消息中间件的服务,还有大数据分析的服务,这几个典型的服务都是通过openstack。上层应用的编排管理以及devops的部署和管理是用Kubernetes来完成的。网络这层主要是在网络的隔离,不同租户的隔离是用openstack来做的。

   

7. 你们当时为什么没有选择mesos?

王昕:因为mesos有比较多的插件项目,mesos本身是数据中心操作系统的内核,是c++开发的,主要是管调度的问题,如果要实现service调度要可能加入相应的插件做相应的开发,而Kubernetes本身提供了相应的能力,比如服务发现、滚动升级、负载均衡,它是相对完整的。如果我们把不同的方案跟传统的解决方案进行对比的话,可能mesos它是传统操作系统的一个内核,Kubernetes有点像传统企业的中间件,它把应用层中间件服务给你做好了。

我们想给用户解决的问题是一个完整的问题,是想解决中间件+下面的问题,所以我们选择用Kubernetes做编排管理。

   

8. 去年有段时间容器比较火热,我们也办了容器大会,大家都在唱衰openstack,您怎么看?

王昕:我觉得其实它们可以共存工作,对于企业来说有些服务还是要在虚拟机上考虑,另外,有些云原生的服务,比如刚才说的云数据库的RDS的服务,比如消息中间件服务、大数据服务,现在并没有在容器集群角度解决,而openstack本身已经有很大的发展。另外,openstack最新版本从liberty开始跟容器的结合非常紧密,比如可以用magnum自动部署容器集群。所以我认为openstack的发展还是很有前景的。另一个角度是说这些企业都会参与到社区,会引导这两个项目共同发展。

   

9. openstack现在也在慢慢融合像Kubernetes等开源项目,你怎么看未来的趋势?

王昕:这类管理的趋势我认为最后要看有没有一个整个的领导者,现在openstack和Kubernetes的方向都很清楚,因为业界的大的云厂商都会参与其中,有很好的方向,比如openstack在刚刚初起的时候因为参与的企业特别多,而且路线不是特别清晰,参与openstack越早可能会做很多无用的东西,但是后期从liberty开始,它在网络、Neutron的方案等都很稳定。Kubernetes也一样,它的好处是一开始就集成谷歌多年的集群运行方案,另外,它对集群的理念和资源的定义非常清晰,以后不断增加新功能不会影响它整体定义的方向。所以我认为这两个标准都是能够有非常长久生命力的标准。

   

10. 以后可能大家会越来越融合。

王昕:对,可能会有统一的一个解决方案。

   

11. 在网络上Kubernetes也说Docker,在libnetwork上大家有一些不一致,最后Kubernetes放弃了对Docker的支持跟兼容。

王昕:容器这边已经成立了新的标准组织,Docker最新的1.11也开始支持新的容器标准,所以他们会走到共同的标准。Docker的网络驱动有四种,有一个是overlay的,还有一种是给第三方做集成的远程的驱动,openstack正好利用远程驱动启动这个项目,当你使用Docker的命令和api来管理openstack层的网络,可以把两个项目的网络统一进行管理,提高效率。相信这两个项目是非常有前景的,肯定会融合,给我们提供非常好的解决方案。

InfoQ:好的,谢谢.

你可能感兴趣的:(王昕:OpenStack与Kubernetes的未来)