作者:张乾
链接:https://www.zhihu.com/question/62985699/answer/204233732
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • OpenStack:公认的云计算IaaS平台,其管理的核心目标对象是机器(虚拟机或物理机),当然也可以管理存储和网络,但那些也大都是围绕着机器所提供的配套资源。近年来容器技术火了之后,OpenStack也开始通过各种方式增加对容器的支持,但目前OpenStack还不被视为管理容器的主流平台。
  • Docker:这里我假定你指的是Docker engine(也叫做Docker daemon,或最新的名字:Moby),它是一种容器运行时(container runtime)的实现,而且是最主流的实现,几乎就是容器业界的事实标准。Docker是用来创建和管理容器的,它和容器的关系就好比Hypervisor(比如:KVM)和虚拟机之间的关系。当然,Docker公司对Docker engine本身的定位和期望不仅仅在于在单机上管理容器,所以近年来一直在向Docker engine中加入各种各样的高级功能,比如:组建多节点的Docker集群、容器编排、服务发现,等等。
  • Kubernetes(K8s):搭建容器集群和进行容器编排的主流开源项目(亲爹是Google),适合搭建PaaS平台。容器是Kubernetes管理的核心目标对象,它和容器的关系就好比OpenStack和虚拟机之间的关系,而它和Docker的关系就好比OpenStack和Hypervisor之间的关系。一般来说,Kubernetes是和Docker配合使用的,Kubernetes调用每个节点上的Docker去创建和管理容器,所以,你可以认为Kubernetes是大脑,而Docker是四肢。
  • Mesos:哈,终于说到我目前正在做的啦!Mesos是一个通用资源管理平台,它所管理的核心目标对象既不是虚拟机/物理机,也不是容器,而是各种各样的计算资源(CPU、memory、disk、port、GPU等等)。Mesos会收集各个节点上的计算资源然后提供给运行在它之上的应用框架(比如:Spark、Marathon、甚至是Kubernetes)来使用,应用框架可以将收到的计算资源以自己喜欢的任何方式创建成计算任务来完成特定工作(比如:创建一个大数据任务计算个π什么的)。由于容器技术近年来的火热,Mesos也对容器进行非常深层次的支持,它内部完整地实现了一个容器运行时(类似于Docker),所以,上层的应用框架可以方便地把自己的计算任务以容器的方式在Mesos管理的计算集群中运行起来。使用Mesos的门槛相对较高(需要应用框架编写代码调用Mesos的API和其集成),但一旦用起来之后灵活性和可扩展性更高,因为Mesos并不限制应用框架如何使用计算资源(可以以容器的方式使用,也可以是其它方式,比如:传统的进程),主动权完全在应用框架自己手中。作为对比,Kubernetes只能管理容器,所有任务都必须以容器的方式来运行。为了解决门槛较高的问题(当然也是为了赚钱),Mesosphere(Mesos这个开源项目背后的商业公司)推出了DC/OS,其核心就是Mesos加一个内置的应用框架Marathon(可以用做容器编排),能够达到开箱即用的效果,安装好之后立刻就可以创建和管理容器和非容器类的任务了。

openstack,docker,mesos,Kubernetes(k8s)的更多相关文章

  1. Kubernetes(K8s)部署 SpringCloud 服务实战

    1. 概述 老话说的好:有可能性就不要放弃,要敢于尝试. 言归正传,之前我们聊了一下如何在 Kubernetes(K8s)中部署容器,今天我们来聊一下如何将 SpringCloud 的服务部署到 Ku ...

  2. Minikube之Win10单机部署Kubernetes(k8s)自动化容器操作的开源平台

    Minikube之Win10单机部署 Kubernetes(k8s)是自动化容器操作的开源平台,基于这个平台,你可以进行容器部署,资源调度和集群扩容等操作.如果你曾经用过Docker部署容器,那么可以 ...

  3. dial tcp 10.96.0.1:443: getsockopt: no route to host --- kubernetes(k8s)DNS 服务反复重启

    kubernetes(k8s)DNS 服务反复重启解决: k8s.io/dns/pkg/dns/dns.go:150: Failed to list *v1.Service: Get https:// ...

  4. kubernetes(K8S)快速安装与配置集群搭建图文教程

    kubernetes(K8S)快速安装与配置集群搭建图文教程 作者: admin 分类: K8S 发布时间: 2018-09-16 12:20 Kubernetes是什么? 首先,它是一个全新的基于容 ...

  5. (转)dial tcp 10.96.0.1:443: getsockopt: no route to host --- kubernetes(k8s)DNS 服务反复重启

    转:https://blog.csdn.net/shida_csdn/article/details/80028905 kubernetes(k8s)DNS 服务反复重启解决: k8s.io/dns/ ...

  6. Kubernetes --(k8s)入门

    k8s 简介: 什么是k8s? Kubernetes (k8s)是Google开源的容器集群管理系统(谷歌内部:Borg).在Docker技术基础上,为容器化的应用提供部署运行.资源调度.服务发现和动 ...

  7. 使用国内的镜像源搭建 kubernetes(k8s)集群

    1. 概述 老话说的好:努力学习,提高自己,让自己知道的比别人多,了解的别人多. 言归正传,之前我们聊了 Docker,随着业务的不断扩大,Docker 容器不断增多,物理机也不断增多,此时我们会发现 ...

  8. 使用 Skywalking 对 Kubernetes(K8s)中的微服务进行监控

    1. 概述 老话说的好:任何成功都不是轻易得来的,是不断地坚持与面对的结果. 言归正传,之前我们聊了 SpringCloud 开发的微服务是如何部署在  Kubernetes(K8s)集群中的,今天我 ...

  9. Kubernetes(K8s)基础概念 —— 凿壁偷光

    Kubernetes(K8s)基础概念  --  凿壁偷光 K8s是什么:全称 kubernetes  (k12345678s) 作用:用于自动部署,扩展和管理"容器化应用程序"的 ...

随机推荐

  1. 【LeetCode】367. Valid Perfect Square 解题报告(Java & Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 方法一:完全平方式性质 方法二:暴力求解 方法三:二 ...

  2. 【LeetCode】442. Find All Duplicates in an Array 解题报告(Python& C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 字典 原地变负 日期 题目地址:https://le ...

  3. python学习第三天:python基础(数据类型和变量)

    注释 以  # 开头的语句是注释,如,注释不会被编译运行: 格式 当语句以冒号:结尾时,缩进的语句视为代码块.按照约定俗成的管理,应该始终坚持使用4个空格的缩进(在文本编辑器中,需要设置把Tab自动转 ...

  4. 写了个适用于vscode的minio图床客户端插件

    缘起 自己搭建minio做我的个人博客图床好一段时间了, 一直用minio自带的web管理后台来上传图片, 它的界面长下面这个样子 上传完后, 需要点下文件列表里刚刚传上去的文件的分享按钮 然后会出来 ...

  5. JavaScript8种数据类型

    一.开门见山 在ES5的时候,我们认知的数据类型确实是 6种:Number.String.Boolean.undefined.object.Null. ES6 中新增了一种 Symbol .这种类型的 ...

  6. UML 基本模型元素

    目录 1. 结构模型元素 (1)类(class) (2)接口(interface) (3)协作(collaboration) (4)用例(use case) (5)活动类(active class) ...

  7. EntityFrameworkCore数据迁移(一)

    .net core出来已经有很长一段时间了,而EentityFrameworkCore(后面简称EFCore)是.net framework的EntityFramework在.net core中的实现 ...

  8. Linux_grep命令

    搜索内容 命令格式如下 grep 参数 "搜索的内容" 搜索路径 注:搜索路径可缺省,缺省时,默认搜索当前目录以及其子目录下所有文件 显示文件名+内容: grep -r " ...

  9. 初识python: 自定义函数

    什么是函数? 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率. 函数的定义方法: def test(x): '函数定义方法' x+=1 r ...

  10. 官方文档粗读 - Tutorial

    参考: https://www.jianshu.com/p/0d234e14b5d3 1.Connecting 我们通过 create_engine() 来链接数据库,假设我们我们采用SQLite. ...