写点什么

几种可选的容器编排工具比较

  • 2017-02-16
  • 本文字数:1295 字

    阅读完需:约 4 分钟

近日,有篇文章比较了当前市面上存在的其中几种容器编排工具,范围从可以自托管的开源工具到容器即服务产品,而后者又涵盖了初创公司和企业。

这些可选的编排工具有一些共同的特征,如容器配置、发布和发现、系统监控和故障恢复、声明式系统配置以及有关容器布置和性能的规则和约束定义机制。除此之外,有些工具还提供了处理特定需求的特性。

开源编排工具包括Docker Swarm、Kubernetes、Marathon 和Nomad。这些工具既可以安装在企业内部你自己的数据中心里,也可以安装在大多数的云上。其中,作为谷歌容器引擎的一部分,Kubernetes 还作为托管解决方案提供。它对逻辑单元pods 进行调度——pods 是一组部署在一起的容器,用来完成特定的任务。Pods 可以用于构成更高层次的抽象,如部署。每个pod 都提供了标准的监控,也有用户自定义的健康检查。Kubernetes 在类似OpenStack 这样的项目中也有应用,它得到了社区供应商的支持

Docker Swarm 是 Docker 的原生编排工具。Docker 1.12 新增了“swarm 模式”特性,用于跨多个主机进行编排。Docker Swarm 仍然是一个独立的产品。可以通过Docker API 访问它,也可以用它调用类似docker compose 这样的工具,对服务和容器进行声明式编排。Docker Swarm 是 Docker Datacenter 这个更大的产品的一部分,后者是针对企业级容器部署。

Swarm 和 Kubernetes 都使用 YAML 配置文件。虽然二者都是开源的,但 Kubernetes 对 Docker 没有任何依赖,它是 Cloud Native Computing Foundation( CNCF )项目的一部分。不过,两种工具都是既可以在本地运行,也可以在类似AWS 这样的公有云上运行。

编排框架Marathon 基于 Apache Mesos 项目。Apache Mesos 通过 API提供了跨数据中心的资源管理和调度抽象,而这些数据中心可能是物理上分散的。Mesos 上的系统可以使用底层的计算、网络和存储资源,就像虚拟机通过虚拟机管理程序使用底层资源一样。Marathon 使用了Mesos 并在它上面运行,针对长期运行的应用程序提供了容器编排功能。它既支持Mesos 容器运行时,也支持Docker 容器运行时。

Amazon EC2 容器服务( ECS )和 Azure 容器服务是两个托管解决方案,其中后者是最新的解决方案。ECS 仅支持在 AWS 的基础设施上运行的容器,它可以利用弹性负载均衡、日志工具 CloudTrail 等 AWS 特性。ECS 任务调度器将任务分组成服务进行编排。对于持久化数据存储,用户可以使用数据卷或者 Amazon 弹性文件系统( EFS )。Azure 的容器服务使用 Mesos 作为底层集群管理器。用户也可以选用 Apache Mesosphere 数据中心操作系统(DC/OS)、Kubernetes 或者 Docker Swarm 进行编排。

Hashicorp 的 Nomad 是一个开源产品,可以支持 Docker 容器、VM 和独立应用程序。Nomad 基于代理模型,每个代理部署到一台主机上,它会和中央 Nomad 服务器通信。Nomad 服务器负责任务调度,其依据是哪台主机有可用的资源。Nomad 可以跨数据中心,而且也可以和其他 Hashicorp 工具(如 Consul )集成。

该文在总结中写道,在选择使用哪种编排工具时,其中一个决定性因素是,是否可以接受被锁定到特定的基础设施(如 AWS 或 Azure)。

查看英文原文: A Comparison of Some Container Orchestration Options

2017-02-16 18:0013367
用户头像

发布了 1008 篇内容, 共 388.1 次阅读, 收获喜欢 344 次。

关注

评论

发布
暂无评论
发现更多内容

【LeetCode】数组拆分Java题解

Albert

算法 LeetCode 2月春节不断更

微信红包封面,2021年为啥突然火了?

架构精进之路

春节 微信红包封面 商业洞察

EternalWallet为您提供快速、便捷、低价的国际汇款服务

Geek_c610c0

1480. 一维数组的动态和

小马哥

算法 七日更

写公号大半年,看看我都收获了些啥

架构精进之路

技术 总结 微信公众号 成长笔记

gradle中的增量构建

程序那些事

maven Gradle 程序那些事 构建工具

【STM32】PWM 输出 (标准库)

AXYZdong

硬件 stm32 2月春节不断更

这是我的第一次JavaScript初级技巧

我是哪吒

JavaScript 学习 程序员 大前端 2月春节不断更

【活动回顾】4步2小时,搭建爆火的语音聊天室

ZEGO即构

开发利器——C语言必备实用第三方库

码哥比特

c c++ Linux 后端 框架

2.react心智模型(来来来,让大脑有react思维吧)

全栈潇晨

React React Hooks react源码

深度讲解背包问题:面试中每五道动态规划就有一道是背包模型 ...

宫水三叶的刷题日记

深度思考 面试 LeetCode 动态规划 数据结构与算法

消息队列Kafka:入门基础

正向成长

kafka

今日笔记

Nydia

第一次异地过年有感

石君

思考 情感

1.开篇(听说你还在艰难的啃react源码)

全栈潇晨

React React Hooks react源码

给hugo博客添加评论功能

远鹏

Hugo 静态博客 utterances

日记 2021年2月17日(周三)

Changing Lin

2月春节不断更

诊所数字化:诊所老板为什么拒绝预约制?

boshi

数字化转型 医院 七日更

C语言第三方库Melon开箱即用之词法分析器使用

码哥比特

c c++ Linux 后端 框架

翻译:《实用的Python编程》01_05_Lists

codists

人工智能 后端 python 爬虫 列表 数据结构与算法

揭秘登上2021春晚舞台的黑科技-XR技术

架构精进之路

黑科技 vr 春晚 XR MR

春节快过腻了?不妨关心下太空探索

脑极体

IDEA插件:快速删除Java代码中的注释

xiaoxi666

Java 代码注释 JavaParser

数据量大读写缓慢如何优化(5)【读缓存】

我爱娃哈哈😍

redis 缓存 架构设计实战 缓存设计

C语言实用第三方库Melon开箱即用之多线程模型

码哥比特

c c++ Linux 后端 框架

13. 如果自己写的 Python 程序出错了,怎么办?

梦想橡皮擦

python 爬虫 2月春节不断更

程序员成长第五篇:如何选择城市工作?

石云升

程序员 2月春节不断更 选择城市

3.Fiber(我是在内存中的dom)

全栈潇晨

React React Hooks react源码

ElasticSearch.03 - 基本原理

insight

elasticsearch 2月春节不断更

第四章作业-编写一个用例文档

秦挺

几种可选的容器编排工具比较_DevOps & 平台工程_Hrishikesh Barua_InfoQ精选文章