HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

评论

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

网心科技出席2023(第二十一届)中国企业领袖年会,共话长期主义

网心科技

网心科技

年底换机的实力派选择:华为畅享70性能出色,体验超便捷

Geek_2d6073

如何通过京东工业商品API接口获取商品详情

Noah

企业应用开发中.NET EF常用哪种模式?

EquatorCoco

.net 开发 企业开发

Linux(centos7)缺失.bashrc文件登录出现bash-4.2解决教程。

百度搜索:蓝易云

云计算 Linux centos 运维 云服务器

特权账号管理误区

尚思卓越

网络安全 运维安全 特权账号管理

语音数据集:AI语音技术的灵魂

来自四九城儿

KaiwuDB × 国网山东综能 | 分布式储能云边端一体化项目建设

KaiwuDB

客户案例 KaiwuDB 分布式储能

速卖通商品API接口的使用指南与示例

Noah

Amazon CodeWhisperer:AI 编程助手

亚马逊云科技 (Amazon Web Services)

人工智能 Amazon Lambda 云上探索实验室 Amazon CodeWhisperer Amazon Cloud9

面试官:如何实现链式调用?

王磊

Java 面试题

玩转 K8s 权限控制:RBAC + kubeconfig 搞定 kubectl 权限管理那些事

EquatorCoco

云原生 rbac kurbernetes

SSH远程直连Docker容器教程。

百度搜索:蓝易云

Docker Linux 运维 SSH 云服务器

大数据时代的数据治理!

用友BIP

数据治理

百度搜索展现服务重构:进步与优化

百度Geek说

重构 企业号12月PK榜 百度搜索展现

微店商品详情数据接口(micro.item_get)|微店API接口

tbapi

微店商品详情数据接口 微店商品API接口 微店API接口

语音数据集在人工智能中的应用与挑战

来自四九城儿

文心一言插件商城重磅上线!

飞桨PaddlePaddle

人工智能 开发者 插件开发 文心一言

每日一题:LeetCode-64. 最小路径和

Geek_4z9ami

面试 算法 矩阵 LeetCode 动态规划

数字化转型对中小企业来说值得吗?

天津汇柏科技有限公司

数字化转型

测试用例设计方法六脉神剑——第四剑:石破天惊,功能图法攻阵| 京东物流技术团队

京东科技开发者

第七在线 | 引领时尚行业信息化管理新时代

第七在线

DataSpell for Mac:数据分析的得力助手

iMac小白

关于C#反射概念,附带案例!

不在线第一只蜗牛

C# 后端 项目开发

使用开源技术快速上手 Web 前端开发(内含PPT课件)

OpenTiny社区

开源 前端 Web UI组件库

TFTP服务器 Transfer免激活最新版

胖墩儿不胖y

Mac 软件 ftp传输

mac电脑版spss专业统计分析推荐:IBM SPSS Statistics 激活中文

mac大玩家j

Mac软件 统计分析软件 统计分析

JDBC ResulSet资源释放和Statement并发调用源码分析

FunTester

下一站 GenAI @你!站稳扶好,“码”上发车

亚马逊云科技 (Amazon Web Services)

re:Invent 生成式人工智能 Amazon SageMaker Amazon CodeWhisperer

一小时快速搭建网站:掌握SDK的秘诀

TinTinLand

区块链 编程 技术

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