BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Carlos Sanchez 关注 0 他的粉丝 ,译者 李哲 关注 0 他的粉丝 发布于 2014年7月26日. 估计阅读时间: 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)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

深度内容

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT