当前访客身份:游客 [ 登录  | 注册加入尚学堂]
启用新域名sxt.cn
新闻资讯

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

helloworld 发表于 2年前  | 评论(0 )| 阅读次数(1284 )|   0 人收藏此文章,   我要收藏

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

分享到:0
关注微信,跟着我们扩展技术视野。每天推送IT新技术文章,每周聚焦一门新技术。微信二维码如下:
微信公众账号:尚学堂(微信号:bjsxt-java)
声明:博客文章版权属于原创作者,受法律保护。如果侵犯了您的权利,请联系管理员,我们将及时删除!
(邮箱:webmaster#sxt.cn(#换为@))
北京总部地址:北京市海淀区西三旗桥东建材城西路85号神州科技园B座三层尚学堂 咨询电话:400-009-1906 010-56233821
Copyright 2007-2015 北京尚学堂科技有限公司 京ICP备13018289号-1 京公网安备11010802015183