写点什么

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

  • 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:0013862
用户头像

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

关注

评论

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

深入浅出 Java 泛型,一文搞定

猴哥一一 cium

Java 翻译 泛型

模块三作业

A先生

我应该在什么时候使用 Apache Druid

HoneyMoose

加速基因测序进程,北鲲云高性能计算平台再发力

北鲲云

大厂的产品研发流程,你知道么?

Simon郎

产品 研发体系 大厂 互联网公司

大三就拿到字节提前批,你不想成长,生活总会逼着你成长

Java架构师迁哥

Apache Druid 简介

HoneyMoose

在线条码生成器

入门小站

工具

近几天fil价格暴跌:fil还有希望吗?

区块链 分布式存储 IPFS fil fil行情

去阿里应聘P7Java岗,都会被问到哪些问题?

Java架构师迁哥

过去几个月里面的几家大厂(美团、字节、腾讯、阿里)均拿到 offer,最终去了字节跳动

Java 编程 程序员 架构 面试

如何在Go 服务中做链路追踪

Rayjun

微服务 Go 语言

kubernetes/k8s CSI分析-容器存储接口分析

良凯尔

Kubernetes 源码分析 CSI Kubernetes Plugin #Kubernetes#

AI解锁无人时代 仍需数据安全保驾护航

CECBC

Vue进阶(四):使用 Vuex + axios 发送请求

No Silver Bullet

Vue axios vuex 7月日更 vue-resources

Spring之 EL表达式

邱学喆

语法规则 Expression ExpressionParser ParserContext EvaluationContext

通证与区块链:前台经济+后台技术

CECBC

微观管理?

escray

学习 极客时间 朱赟的技术管理课 7月日更

Go语言:运行时反射,深度解析!

微客鸟窝

Go 语言

完整视频+源码!十六天带你精通基于Spring Cloud微服务电商项目

Java架构追梦

Java 架构 面试 微服务 SpringCloud

Linux之cal命令

入门小站

Linux

什么是 Druid

HoneyMoose

阿里大牛把电商购物、电商秒杀、12306抢票、淘宝天猫各种活动的系统架构层面全部记载到这份《高并发系统架构》手册里了

Java 编程 架构 计算机

【Kafka技术专题】「实践操作篇」单机部署实践手册(2.8.0)

码界西柚

kafka MQ kafka配置 消息队列 kafka架构

不要让这2个坏习惯限制了你的成长

俞凡

认知

Docker的学习体验

吴脑的键客

,docker

Vue进阶(七十八):Vue 定时器与 JS 定时器

No Silver Bullet

Vue 定时器 7月日更

一文读懂区块链技术如何改变非洲贸易(下)

CECBC

从鉴黄师到阿里程序员,我成功逆袭上岸

Java 编程 程序员 计算机

从鉴黄师到阿里程序员,我成功拿下阿里offer

白亦杨

Java 编程 程序员 计算机

根据四个商业指标找到MOT

石云升

读书笔记 用户体验 商业洞察 关键时刻 7月日更

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