openstack,docker,mesos,k8s什么关系?

谁能用简单的通俗易懂的语言告诉我,openstack,docker,mesos,k8s,这些技术的关系和用途。

活动主持人提问于 2018-03-08 13:56
1 个回答
  • 小马奔腾2018-03-09 15:16

    简单讲点个人理解:

    1. openstack是云计算平台,关注的重点是物理设备的虚拟化,比如计算(虚拟机),网络(SDN)和存储(SDS);以及相关的管理和运维。

    2. docker关注的重心则是运维侧的标准化。它有用到linux内核的轻量级类虚拟化技术,但不是严格意义上的物理设备虚拟化,更多是一种隔离策略。这些也称作容器化。通过容器化达到部署的标准化。类似的技术还有rkt, lxc等。

    3. k8s则是基于docker的分布式计算和管理平台,它通过更进一步的抽象,达到将集群视作一台分布式计算机的效果。提供基于容器的应用的自动化部署,调度,监控等能力。现在的k8s已经不局限于docker作为容器化底层,也支持rkt等。

    4. mesos的目标跟k8s有一些相似之处,它最初的设计目标是一个资源(计算,存储等)调度和管理平台。但是它底层最初并不是基于容器的,而是以应用为管理对象,这使得它可以成为比如hdfs/yarn的替代品。因此像mapreduce/tez/spark/storm等分布式大数据计算应用,可以直接基于mesos去部署,调度和管理。不过,现在的mesos也具有基于容器的部署,调度,监控的能力,这使得mesos具有了k8s的部分能力。

    因此,个人的简单划分方法如下:

    openstack: 物理设备的虚拟化

    docker: 使应用可以标准化/容器化

    k8s: 基于容器的分布式计算管理平台

    mesos: 基于应用和容器的分布式计算管理平台