Bosh-lite部署CloudFoundry

来源:互联网 发布:魔兽世界7.0 cpu优化 编辑:程序博客网 时间:2024/04/29 10:17

研究生生涯就这样苦逼的开始了。

老板接了个华为的项目,要做一个PaaS,差不多就是云开发平台。

目前什么都不懂,师兄说先拿cf来作为参考,然后再在cf的源码上进行修改吧,毕竟有个demo总比什么都不知道要好,而且cf也很强大的,有很多值得学习的地方。

回到正题吧,要学习cf,首先得会用它,官方提供的不如本地的来得方便,于是,就不得不本地部署一个cf了,下面开始详细的介绍整个部署的过程吧。


部署cf的方法有很多,网上的方法也是各式各样,我这边用的是Bosh-lite部署cf。

参考的官方文档:https://github.com/cloudfoundry/bosh-lite

安装环境:Ubuntu12.04  64bit,8G内存,4核  (vagrant启动一个虚拟机,将cf部署在虚拟机中,虚拟机默认的配置是6G内存,4核,注意:内存的要求很重要,配置不够的话cf的各种命令会出现i/o timeout,超级蛋疼!)



一、准备安装环境

1. 安装git和curl

(1)安装git

$ sudo apt-get install git

(2)安装curl

$ sudo apt-get install curl


2. 安装spiff

(1)官方下载地址 https://github.com/cloudfoundry-incubator/spiff/releases,直接下载可执行的binary文件,无法下载的可以到百度云盘 http://pan.baidu.com/s/1c0Afg2W 上进行下载,如果用浏览器下载还是很慢的话可以用复制下载链接地址到迅雷进行下载

(2)把下载的spiff可执行文件放入 /usr/bin/ 下,先cd到spiff文件的目录下,再复制

$ cd spiff_path$ sudo cp ./spiff /usr/bin/

(3)检查spiff是否安装成功

$ spiff -v


3. 安装ruby 1.9.3和bundler (主要参考 https://ruby-china.org/wiki/install_ruby_guide)

(1)安装rvm

$ curl -L https://get.rvm.io | bash -s stable
(2)载入rvm环境(每次新打开一个terminal都需要手动执行一遍命令,很奇怪呀,自己也不太清楚)
$ source ~/.rvm/scripts/rvm
(3)检查是否正确安装rvm

$ rvm -v
(4)用rvm安装ruby环境

$ rvm install 1.9.3
(5)设置ruby版本

$ rvm 1.9.3 --default
(6)检查ruby和ruby gems是否正确安装

$ ruby -v$ gem -v$ gem source -r https://rubygems.org/$ gem source -a https://ruby.taobao.org


4. 安装bosh_cli

$ gem install bosh_cli

5. 安装cloudfoundry CLI

(1)官方下载地址 https://github.com/cloudfoundry/cli#downloads ,下载并安装Debian 64bit版本;或者在百度云盘上下载 http://pan.baidu.com/s/1kTwtCZ9

$ cd cf-cli_amd64.deb_path$ sudo dpkg -i cf-cli_amd64.deb

(2)直接安装

$ gem install cf

6. 安装vagrant 1.6.3

(1)官方下载地址 http://www.vagrantup.com/downloads.html ,下载deb版;也可以在百度云盘上下载 http://pan.baidu.com/s/1gdFyDNH

(2)终端下安装vagrant 1.6.3,先cd到vagrant_1.6.3_x86_64.deb目录下,再安装

$ cd vagrant_1.6.3_x86_64.deb_path$ sudo dpkg -i vagrant_1.6.3_x86_64.deb
(3)检查vagrant 1.6.3是否安装成功

$ vagrant -v


7. 安装virtualbox

$ sudo apt-get install virtualbox


8. 下载bosh-lite和cf-release(用的最新版本,目前是v189)

$ mkdir ~/workspace$ cd ~/workspace$ git clone https://github.com/cloudfoundry/bosh-lite$ git clone https://github.com/cloudfoundry/cf-release



二、启动虚拟机并配置信息(在~/workspace/bosh-lite目录下进行)

(1)启动虚拟机

$ vagrant up --provider=virtualbox
(2)修改bosh的target

$ bosh target 192.168.50.4 liteTarget set to 'Bosh Lite Director'$ bosh loginYour username: adminEnter password: *****Logged in as 'admin'
(3)添加本地路由表

$ ./bin/add-route


三、部署cloud foundry

1. 自动部署(部署过程需要下载很多组件,下载过程经常中断,自动部署基本不可能)

$ cd ~/workspace/bosh-lite$ ./bin/provision_cf


2. 手动部署

(1)上传final release(根据所需要的版本上传相应的cf-<version>.yml文件,例如我用的是v189的cf,因此上传cf-189.yml文件)

$ cd ~/workspace/cf-release$ bosh upload release releases/cf-189.yml
注:部署过程中这个环节是最困难的,会根据.yml文件的中各组件在blobstore的id下载相应的.tgz包,这个下载过程不稳定,基本上是需要自己到blobstore手动下载,自动部署经常发生的中断,就是这里下载组件的过程出问题。每个组件的下载过程中会给出两个参数,id和.tgz的包名。例如,对于collector组件,下载时会给出blobstore_id: bbaed155-eb99-41a8-8443-0b650257a076 和 另一个值 0b260e62775a41ce6951a2b3ef8b2f0a72bf026b ,那么手动下载时,下载链接为 blob.cfblob.com/bbaed155-eb99-41a8-8443-0b650257a076 ,然后将下载后的文件重命名为 0b260e62775a41ce6951a2b3ef8b2f0a72bf026b.tgz 并复制到 ~/workspace/cf-release/.final_buildis/packages/collector/ 下。由此,完成了collector组件的手动下载。
为了大家的方便,我已经将.final_builds打包,里面包含了所有满足cf-189.yml的组件。

(2)上传Warden stemcell

首先要下载最新的Warden stemcell

$ wget http://bosh-jenkins-artifacts.s3.amazonaws.com/bosh-stemcell/warden/latest-bosh-stemcell-warden.tgz
再上传stemcell

$ bosh upload stemcell latest-bosh-stemcell-warden.tgz

同样的,造福大家,我把这个包下好了,需要的直接到百度云盘上下载,也方便 http://pan.baidu.com/s/1kTxF6KJ

(3)创建cf manifest文件

$ cd ~/workspace/bosh-lite$ ./bin/make_manifest_spiff
(4)部署cf

$ bosh deployment manifest/cf-manifest.yml$ bosh depoly



0 0
原创粉丝点击