目录
What are the differences with OpenStack and Kubernetes?
OpenStack | Kubernetes | |
---|---|---|
虚拟化技术 | 计算机虚拟化 | 操作系统虚拟化 |
运算单元 | Virtual Machine | Container |
云存储服务 | 块存储、对象存储、文件存储 | 块存储 |
多租户隔离 | 多租户 | 单租户 |
安全隔离性 | 好 | 差 |
裸机管理 | 支持 | 不支持 |
微服务支撑 | 不支持 | 原生支持 |
弹性伸缩维度 | 主机 | Pod |
应用编排能力 | 弱 | 强 |
业务创新能力 | 低 | 高 |
平台运维难度 | 大 | 小 |
Why OpenStack & Kubernetes?
OpenStack 采用的是计算机虚拟化技术,即 VMM Hypervisor,能够提供完整而独立的虚拟机,每个虚拟机都拥有独立的内核,隔离好、安全高。而 Kubernetes 采用的是操作系统虚拟化技术,提供了极其轻量的应用程序运行环境,即 Container,拥有轻量、敏捷、可移植的优势。如果将虚拟化技术实现比作云计算的基因,那么 OpenStack 和 Kubernetes 天生就注定了会走向两个不同的世界,即 IaaS 和 PaaS。在此,笔者希望提醒一下,这个世界并非先有了 OpenStack 再有 IaaS,而是有了 IaaS 之后才有 OpenStack。Kubernetes 亦然。之所以提出这一点是因为,这恰恰说明了 OpenStack 也可以是 PaaS,Kubernetes 亦然。这是两个社区之间必然存在竞争关系的原罪。
值得一提的是,容器虽然拥有 Namespace 的概念,但是更多是限制资源的使用,容器间共享内核,并不是真正意义的多租户。所以在对安全性要求高的应用领域,例如:金融、电信行业,容器技术一直备受挑战。通常的做法是,可以考虑在 Hardware 和容器之间通过增加一层虚拟机来弥补,但 Container on VM 的模式必然存在性能的损耗。所以 OpenStack 基金会一直在大力推动 Kata Containers 的发展,愿望可以在减少虚拟化开销的同时,兼顾容器的性能和隔离性。随着 Kata 的成熟,为容器安全解决方案提供了新的思路。而笔者认为 Kata 更重要的意义在于,它或许,甚至已经成为了促进 OpenStack Foundation 和 CNCF 达成协作的桥梁。这对两个社区未来的发展方向至关重要,OpenStack Summit 向 Open Infrastructure Summit 的蜕变就是一个非常美好的转向。这势必会回避很多 OpenStack 和 Kubernetes 正面碰撞的竞争,更倾向于互补互足,持续发展各自领域的优势。对此,请恕笔者再多说一句闲话,聊技术可以,但请大家不要再讨论 OpenStack 和 Kubernetes 谁生谁死的问题了,实在过于业余。
回到正题,还需要强调的一点是,安全隔离这一问题的范畴可不仅限于计算资源,还要考虑到网络和账户运营的层面。对于后者,在大规模集群或庞大的企业组织结构应用场景中,Kubernetes 可以考虑使用 OpenStack Keystone 完备的权限系统来进行补充。每个 OpenStack Tenant 独立维护自身的 Kubernetes 集群。例如:R&D Tenant、Business Tenant。
而在网络层面,虽然 Kubernetes 提出了很多网络的概念,例如:CNI、Service、DNS、Ingress、Network Policy。但必须承认 Kubernetes 的网络并不贴近传统数据中心的网络基础设施,方案也缺乏灵活,以至于经常受到来自网络基础设施部门的挑战。在他们眼里,网络基础设施平台应该具有 Subnet、 Floating IP 以及在此之上有 DHCP、路由控制、安全组、QoS、负载均衡、域名解析、VPC 等基础网络功能,以至于在此之上构建多租户隔离、多类型网络共存、可伸展性 SDN 网络的愿望。虽然 Kubernetes 的 Calico 网络也可以解决多租户网络隔离的问题,但与数据中心网络发展规划的目标依旧存在距离。这或许就是技术需求和 “真用户核心需求” 的距离。当然,我相信未来随着容器的密度越来越大,必然会出现专门针对容器架构进行优化的网络方案,而不再单存依赖 Linux 网络堆栈的支撑。但就当下而言,Kubernetes 依托于 OpenStack Neutron + Kuryr 来整合两者的网络仍不失为一个好的选择,即解决了嵌套 Overlay 网络的问题,还能够实现容器和容器之间、容器和虚拟器之间的网络直通。
在存储需求的层面,OpenStack 除了提供云主机之外,还可以提供多种类型的云存储服务,例如:块存储、对象存储和文件存储。对此 Kubernetes 则有着完全不同的思考。对于 Kubernetes 而言重要的不是能提供何种存储服务,而是怎么简易的利用好存储资源,继而更好的支撑上层的应用编排。这一点与 Kubernetes 对网络的态度如出一辙,它始终围绕要上层业务思考,而非 IT 资源。单凭 Kubernetes 难以满足企业对云存储服务和网络服务需求的需求。
有失必有得,Kubernetes 自始至终给到笔者的感觉都是一个懂得取舍的智者。Kubernetes 的核心价值始终明确 —— 推动企业的业务创新。未来的业务都会运行在云上,而容器是走向 DevOps、Cloud Native 的标准工具,微服务架构是走向大流量时代的标准软件设计思路。容器改变了应用程序交付的方式,微服务架构改变了应用程序的开发形态。而 Kubernetes 的编排能力以及微服务框架能力,让容器和微服务架构能够落地到业务应用中,加速企业业务创新,快速适应云时代的发展与竞争。这一点是 Kubernetes 之于 OpenStack 而言难以企及的优势,由基因就已经决定了。
退一步回来说,Kubernetes 的优势还是要依托于高可靠的云基础设施的可用性之上。Kubernetes 面向应用层,变革的是业务架构,而 OpenStack 面向资源层,提供了抽象化和自动化的 IT 基础设施,改变的是资源供给模式,是上层平台的强力支撑。在使用容器且集群规模不大的场景中,直接用 Kubenetes 当然可以,但在大规模的集群场景中,不管应用是否只是单存的跑在容器中,都是 OpenStack & Kubernetes 更好。就更不用说当下百花齐放的 5G 时代了。AI、MEC、IoT 将会掀起新的时代潮流,领先的私有云不再仅是虚拟机、容器或裸机,而是我全都要,我又全都可以不要。支持、管理和协调这三种方法的能力是运营效率的关键。具备弹性、韧性(Toughness,AWS 内部一直在强调的关键字)的云计算平台,才是可以经受时代变革洪流的领先的云平台。
诚然,我相信 Kubernetes 就如 OpenStack 的发展历程一般,会度过许多成长过程中的难关和挑战。但同时也可以确定的是,Kubernetes 并不会轻率的、奋不顾身的去挑战 OpenStack 在私有云 IaaS 领域的标准地位,因为 Kubernetes 自身也面临着诸多对手,例如 Serverless、例如 Lambda。Kubernetes 要想全面俘获企业级市场的信任必将经历长期的博弈过程,虚拟机、容器、裸机三种资源提供平台将会长期共存。
当然了,假如你问我 Kubernetes 和 OpenStack 我更喜欢哪一个,那么 Kubernetes 的许多思想和设计理念我认为都是比较先进的,但我们也不能忘记他之所以先进的原因 —— 站在巨人的肩膀上。
上述属于个人观点,碍于能力,仅供参考。写于上海 OpenInfra Summit 之前,希望届时能与大家在现场继续交流。
OpenStack v.s. Kubernetes的更多相关文章
-
OpenStack宣布用Kubernetes重写底层编排引擎
Mirantis是OpenStack的主要贡献者,今天他宣布将使用Kubernetes作为底层编排引擎重写其私有云平台.我们认为这是推进OpenStack和Kubernetes 社区伟大的一步. Op ...
-
Openstack+Kubernetes+Docker微服务实践之路--Kubernetes
经过几番折腾终于搞定Kubernetes了,我们要在Openstack上部署Kubernetes集群,使用最新工具Kubeadm来安装,由于不能直接访问Kubernetes的源,我们需要一台可以穿墙的 ...
-
OpenStack VS Kubernetes,谁是你心中的王者?
当下云计算的领域里热度最高的两个项目,无疑是OpenStack和Kubernetes.如果云计算是一个风起云涌的江湖,毫不夸张的说OpenStack和Kubernetes就是江湖里的泰山北斗.Op ...
-
在 Kubernetes 上部署 OpenStack 是什么体验
红蓝出 CP,OpenStack 和 Kubernetes 在一起会怎样? 背景 从去年开始就想深入地学习 Kubernetes,首先想到是在 OpenStack 上能比较轻松地玩转,所以去 尝试了 ...
-
Docker系列(八):Kubernetes横空出世背后的秘密
Docker与CoreOS的恩怨情仇 2013年2月,Docker建立了一个网站发布它的首个演示版本, 3月,美国加州Alex Polvi正在自己的车库开始 他的 第二次创业 有了第一桶金的Alex这 ...
-
【转】OpenStack和Docker、ServerLess能不能决定云计算胜负吗?
还记得在十多年前,SaaS鼻祖SalesForce喊出的口号『No Software』吗?SalesForce在这个口号声中开创了SaaS行业,并成为当今市值460亿美元的SaaS之王.今天谈谈『No ...
-
OpenStack Newton:集虚拟化,裸金属和容器部署的统一云平台(转载)
2016-10-08木屐大数据在线 国庆长假第六天,OpenStack第十四版本Newton(牛顿?)发布,官方介绍中强调这是一个集虚拟化.裸金属和容器技术的一体化平台,可通过一套API来管理裸金属. ...
-
手把手带你入门kubernetes部署
实验环境准备 k8s-master 192.168.2.156 k8s-node节点 192.168.2.161 Ps:两台保证时间同步,firewalld防火墙关闭,selinxu关闭,系统 ...
-
yum安装k8s集群(kubernetes)
此案例是以一个主,三个node来部署的,当然node可以根据自己情况部署 192.168.1.130 master 192.168.1.131 node1 192.168.1.132 node2 19 ...
随机推荐
-
PerconaXtraBackup 压缩备份集
压缩备份集 stream模式支持且只支持:tar 和 xbstream 两种格式,后者是xtrabackup提供的专有格式,解包时需要同名的专用命令处理 innobackupex --defaults ...
-
有关JVM内存
程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的 Java方法执行内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的 原则上讲,所 ...
-
TFS 2010 使用手册(一)安装与配置
本文转自cnblogs 大辉狼 的文章: http://www.cnblogs.com/wph1129/archive/2010/11/10/1873348.html http://www.cnblo ...
-
Python_爬虫3
正则表达式 在前面我们已经搞定了怎样获取页面的内容,不过还差一步,这么多杂乱的代码夹杂文字我们怎样把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式! 1.了解正则表达式 正则表达式是对 ...
-
Shiro第三篇【授权、自定义reaml授权】
Shiro授权 上一篇我们已经讲解了Shiro的认证相关的知识了,现在我们来弄Shiro的授权 Shiro授权的流程和认证的流程其实是差不多的: Shiro支持的授权方式 Shiro支持的授权方式有三 ...
-
TortoiseGit功能介绍
TortoiseGit功能介绍 使用方便 强大的提交对话框 每个项目设置 最小日志消息长度,以避免意外提交空日志消息 用于拼写检查的语言 与问题跟踪系统集成 有用的工具 有多种语言版本 Tortois ...
-
61.纯 CSS 创作一只咖啡壶(这个不好看)
原文地址:https://segmentfault.com/a/1190000015376202 感想: 好像不像呀,啊啊啊.伪元素.定位.动画.width和height包括内边距|边框|内容区. H ...
-
[20180413]热备模式相关问题2.txt
[20180413]热备模式相关问题2.txt --//上午测试热备模式相关问题,就是如果打开热备模式,如果中间的归档丢失,oracle在alter database end backup ;时并 ...
-
Python MRO_C3
class A: pass class B(A): pass class C(A): pass class D(B, C): pass class E(C, A): pass class F(D, E ...
-
centos7防火墙操作
启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status firewalld 开机禁用 : s ...