关于云计算Kubernetes与Openstack关系的一些思考

本文由个人原创出品,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

原文地址:https://blog.51cto.com/14661205/2469474

时间: 2024-10-11 11:16:58

关于云计算Kubernetes与Openstack关系的一些思考的相关文章

基于docker、kubernetes部署openstack到atomic系统上

声明: 本人阅读笔记,翻译类文章仅作意译.如有不对之处,请指出. 需要更本源的理解,请自行阅读英文. 本博客欢迎转发,但请保留原作者信息! 博客地址:http://blog.csdn.net/halcyonbaby 新浪微博:寻觅神迹 内容系本人学习.研究和总结,如有雷同,实属荣幸! 基于docker.kubernetes部署openstack到atomic系统上 openstack的服务定义,是不是看起来很简洁? openstack的实际组件构成,是不是看起来很复杂? 所有的openstack

云计算与虚拟化的关系:应用与支撑

云计算与虚拟化的关系:应用与支撑 虚拟化是云计算的重要支撑技术.是基于互联网的相关服务的增加.使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源.通过虚拟化,可以将应用程序和数据在不同层次以不同的方式展现给客户,为的使用者和开发者提供便利.的虚拟化过程为组织带来了灵活性,从而改善IT运维和减少成本支出. 是通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将与互联网更相似.这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统

开源云计算OpenStack的2016年思考

题记:我们处在一个剧烈变化的时代,必须要急速地跟上时代的步伐,这就需要勇敢地驾驭着变化的浪潮,不要害怕变化. 今年,OpenStack发布了两个重要版本,一个是4月8日的Mitaka,另一个是10月6日的Newton.不可否认,在目前的云计算市场中,开源云计算是一个非常重要的组成部分,特别是Newton版本的发布,将开源云计算提升到了一个新的高度. OpenStack自推出以来,逐渐得到业界的广泛关注,在互联网企业.传统企业包括中字头的国企都有实际使用的案例,而这些都要归功于它的开源理念和自身不

三分钟读懂:云计算与虚拟化的关系

云计算,虚拟化,这是现代计算科技的两项技术,那么,云计算与虚拟化有什么关系呢?这是本文所要讨论的问题.云计算将计算当做是公共资源,而非具体的产品和技术.早在20世纪70年代,大型计算机就一直在同时运行多个操作系统实例,每个实例也彼此独立.不过直到当今,软硬件方面的进步才使得虚拟化技术有可能出现在基于行业标准的大众化x86服务器上.云计算的基础设施功能在数字经济时代愈发显现.传统行业逐步迁云带来的存量市场,以及互联网行业的深入发展快速裂变带来的增量市场.中亚硅谷智能云计算在如此大环境下,对云计算服

大数据、云计算到底是什么关系?

大数据就是大量的信息存储,通俗的讲,就是超强记忆.比如现在要一个大学生把他小学学过的语文全部背出来,可能谁都做不到,大数据就能做到.而且你生活.工作的细节习惯:你家人.朋友的信息:还有动植物的生长信息:汽车.飞机等物体参数信息:气候变化等自然界的消息等等.把一切的信息,存储在一起,就叫大数据. 云计算就是根据人们的需要,从大数据中以最快的速度,最简便的方法找出人们需要的信息.并找出相关联信息之间的规律,以及预测信息变化可能出现的结果. 从技术上看,大数据与云计算的关系就像一枚硬币的正反面一样密不

云计算和并行计算的关系

云计算是一种计算模式,代表了在某种程度上共享资源进行设计.开发.部署.运行应用,以及资源的可扩展收缩和对应用连续性的支持.目前大部 分的云计 算基础构架是由用户终端向数据中心传送可申请服务的网络,以及建立在服务器上的不同层次的虚拟化技术组成的,使到人们可以在任何有提供网络基础设施的地方 使用这些服务.因此,云的基本概念是通过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再由多部服务器所组成的庞大系统搜索.计算分析之后将处 理结果回传给用户终端.通过这项技术,远程的服务供应商可以在数秒之内

云计算学习,OpenStack主要逻辑模块Nova的详细功能

计算管理(codenamed "Nova") 是基于用户需求为VM提供计算资源管理,它基于Python语言编写. Nova-API:对外统一提供标准化接口.接受和响应最终用户Compute API的请求,同时还实现与Openstack其他各逻辑模块的通讯与服务提供. Nova-Scheduler:从队列上得到一个虚拟机实例请求并且决定它应该在哪里运行(使用多种过滤器或算法调度) Queue:提供了一个守护进程之间传递消息的中央枢纽.消息队列系统作用还可以实现与Openstack其他各逻

关于研发和业务部门关系的一些思考

本人就职于一家通信设备制造企业,负责设备管理软件开发,管理着一个6人的小团队,部门规模40多个人.目前部门在内部和外部都遇到比较大的问题,内部人员流失严重,外部市场故障和产品项目压力大. 今天在一个通用组件的开发总结会上,大家对于部门工作重心是以市场为主还是技术为主产生了一些分歧,这让我想起<***选集第二卷:统一战线中的独立自主问题>中一句比较经典的话"我们一定不要破裂统一战线,但又决不可自己束缚自己的手脚". 研发作为一个资源部门,一定要平衡好自身发展和市场需求之间的关

OpenStack VS Kubernetes,谁是你心中的王者?

当下云计算的领域里热度最高的两个项目,无疑是OpenStack和Kubernetes.如果云计算是一个风起云涌的江湖,毫不夸张的说OpenStack和Kubernetes就是江湖里的泰山北斗.OpenStack就像是少林,基础扎实.沉稳厚重,而Kubernetes就是武当,轻巧空灵.飘逸精妙.使用过这两种系统的人都应该有这样的感受,OpenStack出身于虚拟化技术,稳定但速度慢,Kubernetes则来自于容器技术,快速但有局限.两种不同的技术就决定了有着不同的人生轨迹.那么究竟两者有着怎样的