写点什么

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

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

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

关注

评论

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

Ansible之 AWX 管理清单和凭据的一些笔记

山河已无恙

12月月更

教你用JavaScript实现乘法游戏

小院里的霍大侠

JavaScript 前端开发 编程实战 实战案例 初学者

教育部公布2022年第一批产学合作协同育人项目,千锋教育57个项目成功立项

千锋IT教育

Ansible最佳实践之 AWX 使用 Ansible 与 API 通信tags

山河已无恙

12月月更

Ansible最佳实践之 AWX 启用facts缓存和模板问卷调查

山河已无恙

12月月更

镕铭微电子加入龙蜥社区,推动开源 OS 在音视频产业的应用

OpenAnolis小助手

操作系统 芯片 数据存储 龙蜥社区 镕铭微电子

Ansible最佳实践之 AWX 构建高级作业工作流的创建和调度

山河已无恙

12月月更

Ansible最佳实践之AWK VS Anssible Tower 界面介绍

山河已无恙

12月月更

裸辞不慌!入职蚂蚁金服P6,掌握并发编程我是这样吊打面试官的

钟奕礼

Java java面试 java编程 程序员‘

演讲实录 | OpenMLDB 整合自动特征工程

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

专访 | 徐鹏程:开源,就是酷

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

新变化新营销 这些知识点你得Get!(文末有PPT福利首次放送)

字节跳动数据平台

大数据 营销 12 月 PK 榜

广西移动圆满完成区运会通信保障任务

极客天地

Ansible最佳实践之 AWX 作业创建和启动

山河已无恙

12月月更

OpenMLDB v0.6 新版本运维功能增强

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

多引擎可视化数据流实现方案

元年技术洞察

数据中台 数字化转型 专利解析 方舟企业数字化 PaaS 平台 #方舟平台

预告|2022 星策 Summit MLOps 分论坛议程公布!

星策开源社区

人工智能 机器学习 开源 AI MLOps

Ansible最佳实践之Playbook高级循环任务如何操作

山河已无恙

12月月更

react源码中的生命周期和事件系统

flyzz177

React

互联网医疗领域月度观察——数字乡村建设加快,“互联网+医疗健康”带动乡村高质量发展

易观分析

数字化 互联网医疗

Redis之String类型和Hash类型的介绍和案例应用

C++后台开发

redis 数据结构 hash 后端开发 C++开发

SAP MM 为UB类型的STO执行VL10B,报错-没有项目类别表存在(表T184L NL 0002 V)-之对策

SAP虾客

SAP MM UB类型STO VL10B T184L

【python小脚本】监听日志文件异常数据发送告警短信

山河已无恙

12月月更

Ansible之Ansible Tower使用User和Team管理访问权限的笔记

山河已无恙

12月月更

OpenMLDB Meetup No.7 回顾 | OpenMLDB+AutoX:整合自动特征工程,拥抱高效机器学习

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

关于 Git 重写历史的一些笔记

山河已无恙

12月月更

react源码分析:babel如何解析jsx

flyzz177

React

Ansible最佳实践之 AWX 创建管理项目的一些笔记

山河已无恙

12月月更

react源码中的协调与调度

flyzz177

React

创业者说丨云起无垠沈凯文:构建新一代开发安全基础设施 让Fuzzing技术为企业赋能

云起无垠

安全开发 开发安全 Fuzzing技术防护

OpenMLDB 社区月报 | 2022年10月

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

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