最近在部署cloudfoundry测试环境,遇到的问题不少,不停地在google group、github以及cf官方之间穿梭,抽空总结出来,分享的同时让大家少走弯路。利用BOSH部署cf-release有几个步骤,BOSH-cli-->MIcroBosh-->Bosh-->cf-release,先安装 bosh-cli,通过bosh-cli部署Miro bosh,再通过Micro bosh部署 bosh集群,最后利用 bosh集群来部署cf-realse集群。这些相信大家都很了解了,一些背景知识本文不打算涉及,只专注于部署过程本身。
本文先详细讲解如何部署MicroBosh,迈出第一步。
注:基于openstack IAAS,版本Folsom 。
第一篇 :部署MicroBOSH
一、BOSH 整体架构
官方的一张图
发现其实BOSH的架构与CloudFoundry几乎一样。
outer Shell部分
CLI=VMC ,指令入口
director=CloudController,控制器,接收CLI传成的指令,执行并返回
DB = CCDB ,存储着系统的一些数据
Blobstore = Blobstore or NFS,存储着package,jobs 以及uncompiled package,stemcell
MessageBus=NATS,消息总线,本身就是用NATS。与CF一样
HealtehMonitor = HealthManager ,健康检查,接收每个vm通过agent传回的数据。
Inner Shell = DEA ,vms就形如droplets
与CF相比,这里多了一个Worker,实际上可以理解为线程,诸如编译bosh-release,cf-release的工作,以及打包Jobs,都得另外启动虚拟机来完成的,这个虚拟机就是Worker,当然也是director通过 openstack CPI来创建的。在测试环境中,为了节省资源,将worker 数据设置为1就行。
CF架构中,droplets是由开发者开发上传的,而对应到bosh的vm,是由openstack创建的。BOSH与CF的架构几乎一致。因为都是VMware主导,这就不奇怪了。
二、环境要求
组件 | 节点数目 | 操作系统 | 可否是物理机 |
---|---|---|---|
BOSH CLI | 1 | Ubuntu | 可以 |
Micro BOSH | 1 | Ubuntu | 不可以 |
BOSH | 6 | Ubuntu | 不可以 |
Cloud Foundry | 20+ | Ubuntu | 不可以 |