Cloud Foundry参赛博文——用BOSH部署CloudFoundry实战
来源:互联网 发布:云墙mac下载 编辑:程序博客网 时间:2024/05/17 05:05
Cloud Foundry参赛博文——用BOSH部署CloudFoundry实战
当您看到这篇文章的时候,相信对什么是CloudFoundry、BOSH、dev_setup已经非常熟悉了。客套的我们就不说了,直接上干果。
用dev_setup部署
看官,您先别惊讶,文章名字虽说叫用BOSH部署CloudFoundry实战,还允许我说下对用dev_setup部署的一点经验,也许对您有一点点帮助。
用dev_setup部署太简单了 两条命令
sudo apt-get install curlbash < <(curl -s -k -B https://raw.github.com/cloudfoundry/vcap/master/dev_setup/bin/vcap_dev_setup)
可惜哦;开始用这命令安装的时候是失败的一塌糊涂啊。原因就一个 网络不给力,相信您也遇到过。那么我们怎么办呢,其实下载的内容主要有三部分:1 github上下载源码,2 blob上下载软件包,3 gem一些包。其中比较容易出现问题的还是blob上下载包和gem包。对于第一个部分我们先分别下载下来 主要的包是 cloud_controller dea router stager vcap,这些在vcap_dev_setup里都能看到。
对于第三部分我们就把淘宝的源加进去会提速不少。
第二部分稍微有点麻烦 在vcap/dev_setup/cookbooks里能看到所有需要下载的包,我们一一下载下来,然后放在/var/cache/dev_setup 里面就OK。可能这时候您就感觉不爽了。一个一个找到,而且还要对上版本号,因为里面都有相应的hash值来验证,好比这个
default[:neo4j][:checksum][:server] = "bf1d5fd477cf8dde8718b2dcced0d74293702083b66b1278fe84284503dd3ce8"
default[:neo4j][:checksum][:jar] = "37cdfcc91490f1aaf0fd58dc6591e08c1c6c3044348c76a594dbcaeedbdbdbcd"
为了让大伙少走点弯路,这里有个列表?
memcached-1.4.13.tar.gz pcre-8.12.tar.gz
apache-couchdb-1.2.0.tar.gz mongodb-linux-x86_64-1.8.5.tgz Python-2.6.5.tar.bz2
apache-maven-3.0.4.tar.gz nginx-0.8.54.tar.gz Python-2.6.5.tgz
apache-tomcat-7.0.27.tar.gz nginx-lua.v0.3.1rc24.tar.gz rabbitmq-server-generic-unix-2.4.1.tar.gz
devel-kit-v0.2.17rc2.tar.gz nginx_upload_module-2.2.0.tar.gz rabbitmq-server-with-plugins-generic-unix-2.4.1.tar.gz
elasticsearch-0.19.4.tar.gz node-v0.4.0.tar.gz redis-2.2.15.tar.gz
elasticsearch-http-basic-1.0.3.jar node-v0.4.12.tar.gz ruby-1.8.7-p357.tar.bz2
headers-more-v0.15rc1.tar.gz node-v0.6.8.tar.gz ruby-1.9.2-p180.tar.gz
libevent-2.0.19-stable.tar.gz node-v0.8.2.tar.gz rubygems-1.8.24.tgz
lua-5.1.4.tar.gz npm-1.0.106.tgz xulrunner-3.6.26.en-US.linux-i686.tar.bz2
lua-cjson-1.0.3.tar.gz otp_src_R14B01.tar.gz。
这里的大多包您已经很熟悉了,估计电脑里都存着。
做完这三部者性下面这条命令就可以了(假设所有的包都放在$HOME/projects)
$HOME/projects/vcap/dev_setup/bin/vcap_dev_setup -d $HOME/projects,不过这个方法有点问题,就是开始执行命令后内别走太远,一根烟没有抽完估计就OK了。
安装完毕后,我们可能在其它的机器上用vmc连接cloudfoundry,无论在论坛里,qq群里大家都反映target就失败。最简单的方法就是在您的DNS 服务器里把vcap.me加上。
至此,您就可以顺利的发布程序了。
用BOSH部署CloudFoundry
终于回到BOSH上了,用BOSH部署用户体验确实比dev_setup爽多了。在官方给出的教程的基础上,本文给出更具体的说明,也算做是官方教程的注解吧;但愿能协助到您。一 准备工作
最好两台服务器以上
部署好EXSI、vCenter;
最好有共享存储
二 一步一步
1 BOSH CLI
这一步很简单,
- 安装ruby 1.9.2或者更高的版本
- gem install bosh_cli
- sudo apt-get -y install libsqlite3-dev genisoimage
- gem install bosh_deployer #这里不用像教程那样先获取源码了
2 部署Micro BOSH
下载stemcell bosh download public stemcell micro-bosh-stemcell-0.1.0.tgz
编写Manifest 下面是一个验证过的例子
name: micro_bosh
network:
ip: 10.1.1.172 # The IP address of your soon-to-be-deployed Micro BOSH
netmask: 255.255.255.0
gateway: 10.1.1.200
dns:
- 10.1.1.1.1 # You can also include a second DNS server underneath this line.
cloud_properties:
name: "VM Network"
resources:
persistent_disk: 16384
cloud_properties:
ram: 8192
disk: 16384
cpu: 4
cloud:
plugin: vsphere
properties:
agent:
ntp:
- 210.72.145.44 # Specify any NTP server
vcenters:
- host: 10.1.1.171 # Your vCenter server IP
user: administrator # The vCenter user for login
password: passwordpassword # The vCenter user password
datacenters:
- name: cloudtest
vm_folder: BOSH_VMs
template_folder: BOSH_Templates
disk_path: BOSH_Disks
datastore_pattern: datastore230
persistent_datastore_pattern: datastore230
allow_mixed_datastores: true
clusters:
- cloudxxx
对于这个配置文件您只需要修改ip,vcenter的这只就可以了。建设您现在的目录结构如下:
$HOME/deployments/micro_deploy,只需要
cd deployments
bosh micro deployment micro_deploy
bosh micro deployment
bosh micro deploy ~/stemcells/micro-bosh-stemcell-0.1.0.tgz
到此已经部署好micro bosh
3 部署BOSH
下载stemcell bosh-stemcell-vsphere-0.6.7.tgz
bosh target 10.1.1.172:25555
bosh upload stemcell ~/stemcells/bosh-stemcell-vsphere-0.6.7.tgz
获取 bosh release https://github.com/cloudfoundry/bat-release.git
上传 release bosh upload release releases/bosh.yml
编写manifest ,您可以参考这里 https://github.com/cloudfoundry/oss-docs/blob/master/bosh/tutorial/examples/bosh_manifest.yml
这里可能是最麻烦的,下面是写片段,需要特别注意的地方,其它的ip,vcenter的设置需要注意修改。特别是IP部分,需要特别上下对用的地方。
name: boshdirector_uuid: 3aa20323-930f-4ab3-a87e-ab65d81cd9dc # 这个值需要修改,bosh status能看到release: name: bosh #这里需要修改 bosh releases能看到 version: 6 stemcell: name: bosh-stemcell #这里需要修改 bosh stemcells能看到,也就是我们刚刚上传的。 version: 0.6.7
然后bosh deployment ~/bosh-deployments/bosh_manifest.yml
bosh deploy
至此如果您顺利的话,说明您对bosh的流程基本熟悉了,一切的准备工作至此完成,下面就是关键的环节,其实和部署bosh是非常相似的。
4 部署CloudFoundry
和上面一样的流程,首先bosh target directorIP
上传stemcell bosh upload stemcell ~/dyrmcells/bosh-stemcell-0.6.7.tgz
获取relase 并上传 https://github.com/cloudfoundry/cf-release.git,bosh upload cf-releases/cf.yml
编写manifest ,参考这里https://github.com/cloudfoundry/oss-docs/blob/master/bosh/tutorial/examples/dev124.yml
和上一步一样,您要小心配置这个文件。并要有充足的IP
最后bosh deployment ~/deployments/dev124/dev124.yml
总结
用bosh部署还是非常方便的,但是还是要特别注意一下几点:
足够的IP资源;
manifest文件要小心编写,特别是Ip部分;
多台的服务器的话,最好有共享存储;
密码要至少16位,不包含@字符;
在dns里配置好您的域名。
内部网络顺畅。
在我部署的过程中,这些问题都有涉及,但愿您少走弯路。
- Cloud Foundry参赛博文——用BOSH部署CloudFoundry实战
- Cloud Foundry参赛博文——CloudFoundry源代码学习笔记之vmc
- Cloud Foundry参赛博文——Cloud Foundry安装初体验
- Cloud Foundry参赛博文——Cloud Foundry的架构浅析
- Cloud Foundry参赛博文——Cloud Foundry中的MongoDB服务
- Cloud Foundry参赛博文——另眼相看Cloud Foundry的扩展性
- Cloud Foundry参赛博文——CLOUD FOUNDRY启动流程及为其添加系统服务
- OpenStack使用Bosh部署CloudFoundry(三)—部署Micro Bosh
- OpenStack使用Bosh部署CloudFoundry(三)—部署Micro Bosh
- OpenStack使用Bosh部署CloudFoundry(五)—使用Bosh部署CloudFoundry
- OpenStack使用Bosh部署CloudFoundry(五)—使用Bosh部署CloudFoundry
- OpenStack使用Bosh部署CloudFoundry(四)—使用Micro Bosh部署Bosh
- OpenStack使用Bosh部署CloudFoundry(四)—使用Micro Bosh部署Bosh
- Cloud Foundry BOSH 简介
- OpenStack使用Bosh部署CloudFoundry(一)—准备OpenStack环境
- 在vSphere上通过BOSH工具大规模部署Cloud Foundry(3) -- 部署Cloud Foundry
- Bosh-lite部署CloudFoundry
- OpenStack使用Bosh部署CloudFoundry(二)—准备Bosh Cli客户机
- 2012,10,13(ICPC长春赛区热身)
- SQL Server 存储过程
- 《白鹿原》观后感
- Android GUI更新过程
- Java调用SQL Server的存储过程详解
- Cloud Foundry参赛博文——用BOSH部署CloudFoundry实战
- CSS元素之position 定位
- 电池:未来互联网基础设施中的关键部分
- 章二.Windows操作驱动的基本概念(上)
- Java中堆内存和栈内存详解
- Java对象的实例化过程
- 子父类中构造函数的特点-----子类实例化过程
- 对计算机的认识
- 《二次曝光》观后感