容器编排解决方案

目前市场上有很多容器编排工具可用,它们之间的能力有许多重叠的地方。通常的情况下,需要使用这些工具中的一个或多个的组合来满足业务的需求。容器管理或编排工具采用容器(包含要执行的服务)和一组约束或规则作为部署描述符,一起组成可部署的工件,然后在多台机器上找到最适合部署的基础设施。

在这里,我们将探讨市场上流行的一些容器编排解决方案。

Docker Swarm
Dcocker Swarm是Docker自带的容器编排解决方案。Swarm提供了与Docker更深层次的集成,并公开了与Docker的远程API兼容的API。它在逻辑上对一个Docker主机池分组,并将它们管理为一个大型的单Docker虚拟主机。由Docker Swarm来决定将容器部署在哪个主机之上,而不是由应用程序管理员或开发人员来决定。Docker Swarm将基于装箱和扩展算法来决定使用哪个主机。

由于Docker Swarm是基于Docker的远程API,现有的Docker用户的学习曲线与其他容器编排工具相比要少得多。然而Docker Swarm是一个相对较新的产品,它只支持Docker容器。

Docker Swarm使用管理者和节点的概念。管理者是管理和协调Docker容器执行的唯一点。节点是部署和运行Docker容器的地方。

Kubernetes
Kubernetes(K8S)来自谷歌,用GO语言编写,并在谷歌进行了大规模部署测试。类似于Swarm,Kubernetes有助于管理跨集群的容器化应用程序。它有助于自动化容器部署和容器的调度和可伸缩。它支持一些有用的箱外特性,如自动渐进滚动、版本部署和容器弹性失效。

Kubernetes体系结构具有主机、节点和POD的概念。主机和节点一起被称为Kubernetes集群。主节点负责分配和管理多个节点上的工作负载。节点只不过是一个虚拟机或物理机器。节点进一步细分为POD。节点可以承载多个POD。一个或多个容器被分组在POD内执行。PODS也有助于管理和部署协同定位服务的效率。Kubernetes还支持标签作为键值对来查询和查找容器的概念。标签是用户定义的参数,用来标记执行常见类型的工作负载的某些类型的节点,例如前端Web服务器。部署在集群上的服务将通过单个IP/DNS来访问服务。

Kubernetes对DOCKER有现成的支持,然而,Kubernetes的学习曲线将比Docker Swarm更高。

Apache Mesos
Mesos是一个开源框架,最初由加州大学伯克利分校开发并在Twitter上被大规模使用。Twitter主要使用Mesos来管理一个大型Hadoop生态系统。

Mesos与以前的解决方案略有不同。它更像一个资源管理器,依赖于其他框架来管理工作负载执行。它位于操作系统和应用程序之间,提供机器的逻辑集群。

Mesos是一个分布式系统内核,它将许多计算机逻辑地分组并虚拟化成一台大型机器。它能够将多个异构资源分组到可以部署应用程序的统一资源集群上。由于这些原因,Mesos也被作为在数据中心构建私有云的工具。

Mesos具有Master节点和Slave节点的概念。与之前的解决方案类似,Master节点负责管理集群,而Slave节点运行工作负载。它内部使用ZooKeeper进行集群协调和存储。它还支持框架的概念。这些框架负责调度和运行容器及非容器化的应用程序。Marathon、Chronos和Aurora是应用程序调度和执行的流行框架。Netflix的Fenzo是另一种开源的Mesos框架。有趣的是Kubernetes也可以被用作是一个Mesos框架。

Marathon支持Docker容器,以及非容器化的应用程序。Spring Boot可以直接配置Marathon。Marathon提供了大量的开箱即用能力,如支持应用程序依赖性、用于缩放和升级服务的应用程序分组、健康和不健康实例的启动和关闭、滚动提升、回滚失败等。

HashiCorp Nomad
Nomad来自HashiCorp,是另一个容器编排软件。Nomad是一个容器编排系统, 它抽象了低层的机器细节及其位置。与前面探讨的其他解决方案相比, 它具有更简单的体系结构,它也是轻量级的。与其他容器业务流程解决方案类似, 它将负责资源分配和应用程序的执行。Nomad还接受特定于用户的约束, 并基于该限制分配资源。

Nomad有服务器的概念, 所有的作业都被管理。一个服务器将作为领导者, 其他人将充当追随者。它有任务的概念, 这是最小的工作单位。任务被分组到任务组中。任务组将具有要在同一位置执行的任务。一个或多个任务组或任务作为作业进行管理。

Nomad支持许多工作负载,包括Docker。Nomad还支持跨数据中心部署,并且是区域数据中心感知的。

CoreOS Fleet
Fleet是来自CoreOS的容器编排系统。Feet运行在较低的水平并工作在系统的顶部。它可以管理应用程序依存关系, 并确保所有必需的服务都在群集中的某处运行。如果服务失败, 它将重新启动另一个主机上的服务。在分配资源时可以提供亲和性和约束规则。

Fleet有引擎和代理的概念。在群集中的任何一点上, 都只有一个引擎,但具有多个代理。任务被提交到引擎, 代理在群集计算机上运行这些任务。Fleet也支持Docker。

除了这些之外, 亚马逊 EC2 容器服务 (ECS)、Azure 容器服务 (ACS)、Cloud Foundry Diego和 Google 容器引擎都提供了容器编排功能,包含在它们各自的云平台产品中。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,372评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,368评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,415评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,157评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,171评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,125评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,028评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,887评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,310评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,533评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,690评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,411评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,004评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,812评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,693评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,577评论 2 353

推荐阅读更多精彩内容