写点什么

采用 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:565163

评论

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

WorkPlus移动门户,助力企业信息系统移动智慧互联

BeeWorks

19道高频vue面试题解答(下)

bb_xiaxia1998

Vue

加油,也可以更智慧

华为云开发者联盟

云计算 开发 物联网 智慧加油站 企业号十月 PK 榜

安全专属的IM即时通讯平台,WorkPlus信创国产化解决方案

BeeWorks

渣本全力以赴33天,四面阿里妈妈(淘宝联盟),拿下实习岗offer

小二,上酒上酒

学习 面试 阿里 编程开发

读完这份JVM高级笔记,彻底玩转Java虚拟机,面试再也不用“虚”

小二,上酒上酒

Java 面试 阿里 虚拟机 大厂面试

前端开发培训机构学习方法

小谷哥

最全的MySQL总结,助你向阿里“开炮”(面试题+笔记+思维图)

小二,上酒上酒

MySQL 面试

啃完这些Spring知识点,我竟吊打了阿里面试官(附面经+笔记)

小二,上酒上酒

spring Spring全家桶 阿里面试

哪些js手写题是需要掌握的

helloworld1024fd

JavaScript

对在前端培训初学者的几点建议

小谷哥

凭借一份“面试真经pdf”,我四面字节跳动,拿下1-2级offer

小二,上酒上酒

Java 面试 字节 宝典

NFT铸造摸了个鱼链游系统开发源码(原生开发)

开发微hkkf5566

19道高频vue面试题解答(上)

bb_xiaxia1998

Vue

一文步入python大门,基础教程大全(25分钟)

贤鱼很忙

Python 网络安全 10月月更

十大 CI/CD 安全风险(一)

SEAL安全

权限管理 流程控制 身份验证 CI/CD管道 软件供应链安全

美团前端二面必会手写面试题汇总

helloworld1024fd

JavaScript

Hackathon 实用指南丨快速给 TiDB 新增一个功能

PingCAP

TiDB

LinkedList源码分析(三)

知识浅谈

linkedlist 10月月更

632页!我熬夜读完这份“高分宝典”,竟4面拿下字节跳动offer

小二,上酒上酒

Java 面试

搞AI开发,你不得不会的PyCharm技术

华为云开发者联盟

人工智能 代码 华为云 企业号十月 PK 榜

Wallys//IPQ8072/IPQ8074/IPQ8072A/IPQ8074A/High-capacity 802.11ax SoC for Routers, Gateways and Access Points

wallys-wifi6

IPQ8072 IPQ8074A

详解ROMA Connect API 流控实现技术

华为云开发者联盟

云计算 后端 开发 华为云 企业号十月 PK 榜

闭关修炼21天,“啃完”283页pdf,我终于4面拿下字节跳动offer

小二,上酒上酒

Java 字节跳动 面试 大厂面试

疫情之后,幸获内推,4面京东拿下offer(Java后台研发岗)

小二,上酒上酒

Java 面试

使用 SAP BTP 创建一个 Spring Boot Java 应用

汪子熙

云原生 SAP Netweaver 10月月更 btp

仅靠七个步骤,4面通过拿offer,终“跳进”字节跳动

小二,上酒上酒

面试 面试题

疫情闭关期间,读完这些“Java技术栈”,拿下阿里Offer没问题

小二,上酒上酒

Java 面试 技术栈 面试大厂

STM32L051测试 (一、使用CubeMX生成工程文件 — ST系列芯片通用)

矜辰所致

stm32 STM32CubeMX STM32L051 10月月更

学习型索引在数据库中的应用实践

KaiwuDB

Linux策略路由详解

京东科技开发者

数据库 Linux 公有云 云主机 策略路由

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