写点什么

采用 Cloud Foundry 的 BOSH 来管理有状态的 Docker 容器

  • 2014-07-25
  • 本文字数:1212 字

    阅读完需:约 4 分钟

Cloud Foundry 针对 Docker 发布了一个具有实验性质的开源项目 CF-BOSH ,这个项目提供的功能和原先的 BOSH 项目是相同的,也就是大规模分布式服务的部署管理和生命周期管理,但是它却是适用于 Docker 容器的。

Cloud Foundry BOSH 是一套通用工具链,它能够在提供监控、告警和自我修复的功能的同时,将许多处于 IaaS 上层的多节点应用程序协调地结合起来并管理 IaaS 的生命周期,这其中就包括有状态数据在内。它会管理 VM 模板(在 Cloud Foundry 术语中称之为干细胞(stemcells))、软件发布与部署。BOSH 利用了 YAML 清单并且会创建和管理一个 VM 池,BOSH 会为每个任务从池中取出一个 VM,并通过部署清单来更新它的配置。

Cloud Foundry 团队的平台工程师 Ferran Rodenas列举了 Docker 版本的 BOSH 的一些优势

  1. 可以将多个 Docker 容器精心地组织进多个虚拟机中。
  2. 可以选择将容器部署到 IaaS(AWS、OpenStack、VSphere、VCHS、CloudStack 或者 Google Compute Engine)中。
  3. 可以自动监控容器并在失败的情况下进行重新启动。
  4. 如果一个容器失败了,那么当它重启时,所有依赖于它的容器也都会重启。
  5. 可以自动监控虚拟机并在失败的情况下重新创建。
  6. 可以将主数据卷绑定到 Docker 容器上。
  7. 隶属于 Docker 容器的数据磁盘可以在不丢失数据的情况下调整大小。

面向 Docker 的 Cloud Foundry BOSH 版本在部署的时候采用了一种基于 YAML 文件的声明式方法,该文件定义了任务、或者虚拟机,以及要部署的 Docker 容器。它不仅仅监视 Docker 守护进程的工作和监听状态,同样还监视所部署的容器的运行状态。如果由于某些原因,Docker 守护进程或者某个容器停止了,BOSH 会自动检测到这一失败并在没有任何人类干预的情况下再次重新启动进程直到成功为止。

BOSH 包含一个健康度监控器(health monitor),这个监控器会定期 ping 一个运行在虚拟机内部的代理以此来检查它的状态,当它不能联络到这个代理或者部署状态不是所期望的状态时,它就会触发告警。这个告警可以通过不同方式进行发送,比如电子邮件或者传呼机。另外,它还可以触发一个特别的“复活(resurrector)”响应器来自动替换掉这个虚拟机,重新添加已有的持久化磁盘(persistent disk),并再次部署和启动进程。

现在人们还在做一些其他的工作来尝试将 Docker 镜像或者 Dockerfiles 与 Cloud Foundry 集成到一起。 Diego 项目通过替换 Cloud Foundry 的执行代理(DEA)模块以使得其在跨运行时环境(runtime environments)方面更具有扩展性,这些运行时环境就包括 Docker。CloudCredo 公司编写开发了 Decker ,Decker 采用 Docker 作为后端来对 Cloud Foundry 的 DEA 模块重新进行了实现。

查看英文原文: Managing Stateful Docker Containers with Cloud Foundry BOSH


感谢杨赛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-07-25 21:565497

评论

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

怎样做用YashanDB提升数据库安全防护能力

数据库砖家

怎样做用YashanDB提升异构数据源整合效率?

数据库砖家

开箱即用|基于YOLOv8的农作视觉AI——农民与农用车检测系统实战

申公豹

人工智能

大数据-70 Kafka 日志清理:删除、压缩及混合模式最佳实践

武子康

Java 大数据 kafka 分布式 消息队列

通过YashanDB数据库提升电子商务数据处理能力技术指南

数据库砖家

怎样用YashanDB实现数据库多级访问权限管控

数据库砖家

优化YashanDB查询逻辑提高响应速度

数据库砖家

1688查询榜单列表API详解

tbapi

1688API 1688榜单API 1688热销商品采集 1688热销商品API

项目管理文档,项目管理标准流程,项目经理文档

金陵老街

项目管理 绩效考核 软件文档

通过YashanDB数据库支持快速应用开发流程

数据库砖家

怎样做用YashanDB构建企业统一数据管理平台?

数据库砖家

怎样用YashanDB优化数据存储降低企业成本

数据库砖家

LDAP: error code 32 - No Such Object

刘大猫

人工智能 算法 数据分析 智慧城市 智慧交通

怎样做通过YashanDB数据库提升企业数据资产利用率

数据库砖家

如何利用YashanDB实现实时数据同步和分析

数据库砖家

STM32与传感器技术结合打造智能行李箱 | 自动跟随与报警系统【免费开源】

申公豹

嵌入式

在AI技术快速实现想法的时代,挖掘学习工具的新需求成为关键——某知名DSA教学框架需求分析

qife122

DSA教学 多语言支持

用YashanDB实现多租户环境下数据隔离的技术分析

数据库砖家

怎样做用YashanDB实现轻松迁移数据库至云端?

数据库砖家

优化YashanDB数据库存储结构以降低硬件成本的技术指南

数据库砖家

怎样用YashanDB实现轻松构建微服务数据库?

数据库砖家

用YashanDB助力企业数字化转型升级

数据库砖家

CodeBuddy IDE深度体验:AI驱动的全栈开发新时代

穿过生命散发芬芳

AIIDE CodeBuddy推荐官

怎样做优化YashanDB数据库的存储与计算效率

数据库砖家

通过YashanDB数据库分析用户行为数据的指南

数据库砖家

使用YashanDB实现跨平台数据库数据迁移的技术解析

数据库砖家

如何用YashanDB实现数据加密与隐私保护

数据库砖家

基于YOLOv8的藻类细胞实时检测识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!

申公豹

人工智能

优化YashanDB数据库的数据检索效率

数据库砖家

怎样通过YashanDB数据库实现实时报表生成

数据库砖家

用YashanDB实现数据库自动错误检测的技术指南

数据库砖家

采用Cloud Foundry的BOSH来管理有状态的Docker容器_DevOps & 平台工程_Carlos Sanchez_InfoQ精选文章