OpenStack与Kubernetes有什么差异?

两者之间的差异性、性能、可编译性到底有什么差别?

参与16

4同行回答

yinxinyinxin项目经理某金融机构
看完这个你就清楚了。Kubernetes 面向应用层,变革的是业务架构,而 OpenStack 面向资源层,改变的是资源供给模式。使用容器且集群规模不大,直接用 Kubenetes 就可以;集群规模大,不管应用是否只是跑在容器中,都是 OpenStack + Kubernetes 更好。OpenStack + Kubernetes 是各取所长...显示全部

看完这个你就清楚了。

Kubernetes 面向应用层,变革的是业务架构,而 OpenStack 面向资源层,改变的是资源供给模式。使用容器且集群规模不大,直接用 Kubenetes 就可以;集群规模大,不管应用是否只是跑在容器中,都是 OpenStack + Kubernetes 更好。

OpenStack + Kubernetes 是各取所长,并不只是因为惯性,而是对于多租户需求来说,Container(容器)的隔离性还需要加强,需要加一层 VM(虚拟机) 来弥补,而 OpenStack 是很好的方案。不过,VM + Container 的模式,必然有性能的损耗,所以 OpenStack 基金会也推出一个项目叫 Kata Containers,希望减少虚拟化的开销,兼顾容器的性能和隔离性。

永恒的只有变化,未来的业务都会运行在云上,容器是走向 DevOps、Cloud Native(云原生)的标准工具,已经开始走向平凡,而 Kubernetes 的编排能力,让容器能够落地到业务应用中,所以我们看到 Docker、Mesos、OpenStack 以及很多公有云、私有云服务商,都在支持 Kubernetes,大家都加入了 CNCF(云原生计算基金会)。

总结起来,OpenStack 是兼容传统的架构,而 Kubernetes 是面向未来的架构。

最后,计算开源云这几年发展很快,从这个问题提出到现在,社区又有了很多变化。所以要修正一个观点:Kubernetes 支持的容器运行时不仅仅是 Docker,也包括 Rkt,当然 Docker 更加流行。
  
简单的说,kubernetes是管理container的工具,openstack是管理VM的工具。
container可以运行在物理机上,也可以运行在VM上。所以kubernetes不是需要openstack的支持。但对于云计算来说,很多IasS都通过openstack来管理虚拟机。然后用户可以在这些虚拟机上运行docker,可以通过kubernetes进行管理。

收起
银行 · 2018-09-29
浏览2241
bryanbryan软件架构设计师金融研发
openstack属于IaaS层,交付物是操作系统k8s属于PaaS层,基于操作系统为应用研发提供各种便利显示全部

openstack属于IaaS层,交付物是操作系统
k8s属于PaaS层,基于操作系统为应用研发提供各种便利

收起
银行 · 2018-10-16
浏览1899
chinesezzqiangchinesezzqiang课题专家组信息技术经理M
openstack是OS层面的虚拟化技术,kubernetes是编排器,你说的应该是docker,是容器虚拟化技术。在启动速度上docker要比openstack快很多,毕竟docker在系统内仅仅是个进程,是靠namespace进行隔离。openstack中的KVM或者其他虚拟机都是基于hypervisor的,具有独立的OS隔离机制。从安...显示全部

openstack是OS层面的虚拟化技术,kubernetes是编排器,你说的应该是docker,是容器虚拟化技术。在启动速度上docker要比openstack快很多,毕竟docker在系统内仅仅是个进程,是靠namespace进行隔离。
openstack中的KVM或者其他虚拟机都是基于hypervisor的,具有独立的OS隔离机制。从安全上和性能上,目前KVM这类的hypervisor还是比较有优势。

收起
IT其它 · 2018-09-29
大天使之剑大天使之剑售前技术支持杭州才云科技
这样理解吧,kubernetes面向微服务,细颗粒度,openstack面向云,相对来说颗粒度较粗但k8s也不是百利无一害的,1.对于有状态服务的编排,是需要极高的运维技能的,举个例子,redis集群和mysql集群怎么使用k8s进行编排,每个集群的实现高可用的方法是不一样的,现在找不到一个共通性以实现k8s...显示全部

这样理解吧,kubernetes面向微服务,细颗粒度,openstack面向云,相对来说颗粒度较粗
但k8s也不是百利无一害的,
1.对于有状态服务的编排,是需要极高的运维技能的,举个例子,redis集群和mysql集群怎么使用k8s进行编排,每个集群的实现高可用的方法是不一样的,现在找不到一个共通性以实现k8s像管理无服务状态那样管理有服务状态,虽然有一个statefulSet控制器。。。
2.传统应用转型微服务是极其困难的,到底如何拆分,怎么拆分这个问题就很难去实现

而openstack等虚拟化技术,则可以痛点较少或者是无痛点的将传统业务p2v至云平台之上,并享受其优点和性能

裸机去跑k8s和裸机上的虚拟机跑k8s肯定会有性能差距的,但这个性能差距是可以缩小的,openstack现在有一个magnum和zun组件,以实现对docker和k8s的部署和管理

收起
互联网服务 · 2018-09-29

提问者

林子大
其它zf
擅长领域: 备份云管平台云计算

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2018-09-29
  • 关注会员:5 人
  • 问题浏览:3483
  • 最近回答:2018-10-16
  • X社区推广