几种集群方案简介
下面以docker部署为主,主流的容器化集群部署方案主要有以下几种:
- Docker Compose:帮助在 同一个节点 上部署多个容器。
- Docker Swarm:多台机器上部署容器。开箱即用,快速部署容器。偏重容器部署
- K8s:社区活跃度高,组件丰富。微服务化,偏重应用的部署。
- Marathon+Mesos:大数据组件部署。双层调度,侧重底层资源管理。任务调度需自己实现
compose支持在 同一节点 上部署,swarm支持在多个节点上部署容器。这两者都是docker原生支持的docker集群部署方式,开箱即用,比较方便,偏重于容器的部署。
swarm偏重的是容器的部署,而k8s偏重于应用的部署。k8s对容器的所有操作都渗透着为应用而服务的理念,比如pod是为了让联系紧密但又不适合部署在一起的应用分别部署在不同docker里面,但docker之间共享volume和network namespace方式,以便实现紧密地“交流”,在比如service是为了隐藏pod(容器的集合,下文会介绍到)的网络细节,让pod提供固定的访问入口,从而方便地让其他应用访问等。
在swarm中,被创建、调度和管理的最小单元就是docker。在k8s中,最小单元则是pod。
marathon+mesos,一开始是给大数据组件部署用的,这个框架是一个双层调度框架,侧重于底层资源管理。需要自己实现任务调度。
下面重点对比一下k8s和mesos。
k8s vs mesos
k8s
k8s一些概念
- Node:资源节点的抽象
- Pod:pod为kubernetes的最小管理单元,一个pod中可以部署多个容器,通常建议是一个容器

本文对比了Docker Compose、Docker Swarm、Kubernetes(K8s)和Marathon+Mesos等集群方案,重点分析了K8s和Mesos的特性。K8s强调应用部署,具有丰富的组件和微服务理念,而Mesos侧重底层资源管理,采用双层调度。随着集群规模增长,K8s和Mesos各有优势,适用于不同场景。
3632

被折叠的 条评论
为什么被折叠?



