写点什么

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

评论

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

神经网络模型复杂度分析

嵌入式视觉

params 模型计算量分析 FLOPs 卷积层MAC 浮点计算能力

Github获赞32.4K!阿里大牛亲码Spring Boot进阶(全彩版小册)

架构师之道

Java 微服务 架构师

从0.5到4.0,OceanBase单机分布式一体化的技术演进|DTCC 2022

OceanBase 数据库

数据库 oceanbase

​​软件开发入门教程网之​​C++ 标准库

雪奈椰子

C++

成功上岸字节全靠这份Redis技术笔记,深入浅出值得一看

小小怪下士

Java redis 程序员 面试 字节

Spring Boot 3.0横空出世,快来看看是不是该升级了

程序那些事

Java spring 程序那些事 spring boot3

Payso×OceanBase:云上拓新,开启云数据库的智能托管

OceanBase 数据库

数据库 oceanbase

Apache Spark + 海豚调度:PB 级数据调度挑战,教你如何构建高效离线工作流

Apache DolphinScheduler

海豚调度 Apache Spark 大数据 开源

NineData获"IT168 & ITPub 年度创新产品"奖

NineData

数据库 数据管理 多云管理平台 玖章算术 NineData

16款跨平台应用开发框架,你Pick谁?

Speedoooo

跨端开发 跨端框架 跨端应用平台 跨端开发平台

漏洞优先级排序的六大关键因素

SEAL安全

安全 漏洞 企业号 1 月 PK 榜 优先级排序

年度重磅!《2022华为开发者宝典》免费下载

华为云开发者联盟

开源 华为云 鲲鹏 昇腾 企业号 1 月 PK 榜

容器 I/O 性能诊断:到底哪个应用是带宽杀手?

阿里巴巴中间件

阿里云 容器 云原生

软件开发入门教程网之C++ 引用

雪奈椰子

ios打包

全景剖析阿里云容器网络数据链路(二):Terway EN

阿里巴巴云原生

阿里云 容器 云原生

不会还有人不知道吧?BOM上的器件也能在PCB上快速定位啦!(内附高效手焊攻略)

华秋PCB

工艺 PCB PCB设计 焊接 PCB工艺

目标检测模型基础知识

嵌入式视觉

Focal Loss IOU NMS Soft NMS anchor

目标检测模型的评价标准-AP与mAP

嵌入式视觉

ap map roc PR曲线 精确率与召回率

​​软件开发入门教程网之​​C++ 信号处理

雪奈椰子

ios打包

不懂任务调度系统,快来看这篇

华为云开发者联盟

后端 开发 华为云 企业号 1 月 PK 榜

如何定义算法?10分钟带你弄懂算法的基本概念

九章云极DataCanvas

机器学习 机器学习算法

AI创作惊艳四方,诸多挑战仍在路上

科技热闻

PolarDB for PostgreSQL 14 开源实战训练营免费报名中!

阿里云数据库开源

数据库 阿里云 开源 postgre PolarDB for PostgreSQL

一站式开发平台 赋能办公全场景

力软低代码开发平台

腾讯企点助力建发纸业:浆纸产业数字化战略,传统行业在低增长时代的新路径

人称T客

软件测试/测试开发 | 使用 Zabbix + Grafana 搭建服务器监控系统

测试人

软件测试 Grafana 自动化测试 zabbix 测试开发

DNS 代理?Pipy:这我也可以

Flomesh

Pipy 可编程代理 流量管理

聊聊Cookie、Session、Token 背后的故事

华为云开发者联盟

前端 华为云 企业号 1 月 PK 榜

智能流程机器人助你“聚划算”

华为云开发者联盟

人工智能 机器人 华为云 企业号 1 月 PK 榜

火山引擎DataTester:5个优化思路,构建高性能A/B实验平台

字节跳动数据平台

大数据 AB testing实战

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