本文由个人原创出品,51cto博客首发,转载请注明出处。

大概从2015年开始,Docker、Mesos、Kuberntes等容器相关的技术开始流行起来,云计算的核心理念也随之发生了变化,一句话总结为:云计算的核心理念正在从以资源编排为主体向以应用编排为主体转变。有感于此,谈一些自己关于Kubernetes与Openstack关系与两者整合的一些思考。

一.以资源编排为主体的云计算时代

这个时代主要解决资源分配和管理的问题,这是资源维护者的核心诉求,而众多的资源中(计算、存储和网络等),又以虚拟机为主体,所以这个时代的云计算,简化点就是现在大家理解的围绕虚拟机构建的IaaS资源管理体系,所有的资源管理以虚拟机为核心配套设计。在私有云为主的时代,完美地匹配了用户的需求,所以这个时代各种IaaS管理软件出现,OpenStack也在这个时代达到了空前的繁荣,VMWare在这个时代取得了巨大的发展,推出了各种资源管理产品(vSphere、vCloud等)。这个时代,用户是比较单一的,诉求也是比较原始的,就是作为IT的Operator或者Maintainer,要把资源的管理做到极致。这个时代其实也在尝试去解决更高级的用户需求,但是理念还是以虚拟机为主体,比如早期基于虚拟机的PaaS平台Cloudfoundry,比如基于虚拟机的应用编排项目Murano等等。

二.以应用编排为主体的云计算时代

随着公有云的普及和私有云的极致发展,云计算的主要矛盾变成了日益增长的多元化用户需求与落后的以资源编排为主体理念之间的矛盾。公有云用户更想以应用为主体来构建IT软件栈和IT系统,希望以更加敏捷、更细粒度的控制来适应应用的快速迭代,甚至是私有云的IT管理员也更加希望资源编排更加的敏捷。此时,云计算的核心理念就很自然的进入到了以应用编排为主体的云计算时代。很显然,满足这个理念的Docker、Kubernetes等技术,必将会在这个时代实现空前的繁荣。

三.新时代下容器编排与IaaS层的关系和定位

基于上述对云计算核心理念变化的分析,下面就来讲讲,新时代下应该如何去规划一朵云。

IaaS层的价值在于资源的编排(调度),假设抛弃IaaS层,那么K8S就必须要重新实现资源管理相关的功能,比如裸机(包括纯物理机)管理、虚拟机的管理(必然还会存在),存储的管理(集中式存储、各种分布式存储等),网络的管理(各种SDN的对接或者功能实现,underlay和overlay网络),安全组件的管理(安全设备、安全虚拟化设备)等等,此时,K8S还是在做以应用为主体的管理吗?K8S还是K8S吗?甚至K8S在IaaS管理方面,会比OpenStack等IaaS管理项目实现的更好吗?除非你认为在以应用编排为主体的时代,不需要资源管理,很显然,这都是不对的,K8S的重点应该围绕应用和服务,而不是过多关注底层硬件资源的管理。

再回到IaaS层上,正确的理念就应该是“分层”的理念,OpenStack在最火爆的时候,忘了初心,做了很多以应用为中心的工作,现在就应该回归初心,专心做好自己的资源管理部分(IaaS资源管理),但是与以前不同的是,此时已经不是以OpenStack(虚拟机)为中心的时代,OpenStack必然要交出整个平台的控制权,交给以应用为中心的K8S,但是,不以你为中心,并不代表不需要OpenStack,更不存在K8S替代OpenStack。VMWare是这个理念的先行者,推出了虚拟机和容器深度结合的项目Project Pacific,在这个项目中并没有用K8S替代vCenter、vSAN等,只是把控制权从vCenter转交给了K8S。

综上分析,K8S与IaaS层应该结合使用,发挥各自优势。至于如何做好K8S和OpenStack的深度整合, VMWare Project Pacific给出了实践经验,这里谈几点自己粗浅的看法,权当抛砖引玉:
(1)租户通过IaaS层进行隔离,每一个租户独立拥有一套属于自己的基于k8s的容器编排系统。即采用k8s专有集群的方式构建相互隔离的多租户容器平台。
(2)所有容器化的应用都应该做成无状态的服务。这样容器平台就无需专门的持久化存储。
(3)所有有状态的服务都应该采用虚拟机或裸金属的方式部署。
(4)将虚拟机和k8s集群放入相同的租户网络即可实现容器的无状态服务访问虚拟机的有状态服务。
(5)将所有结构化的数据存入数据库中,所有非结构化的数据存入对象存储中。

最后再强调一点,公有云与私有云相比,安全是底线,K8S+Docker相关的配套软件堆栈(比如基于容器的安全技术,基于容器的SDN技术,基于容器的分布式存储技术等),还不是很成熟,所以目前Kata项目也引起了各大公有云厂商的关注。

本人负责成都征天科技有限公司云计算相关产品的研发,征天科技致力于为企业和个人提供专业的云计算IaaS和PaaS层产品和服务,官网地址:www.tjiyun.com 欢迎访问。目前我们正在寻找运营方向的合伙人,如您对云计算事业感兴趣,有相关运营经验,并且愿意做一番事业,欢迎与我们联系,微信号 ztkj_tjiyun