在自己的Iaas上部署CloudFoundry有使用dev_setup和BOSH两种方法,其中前者就是一个典型的使用chef来安装基于源码的多组件系统的案例。
假如你也是参考过这个文档:
http://support.cloudfoundry.com/entries/20407923-single-multi-node-vcap-deployment-using-chef,你会发现文章给出Option 1非常之简单:就一行bash。。。
但是,楼主表示从来没成功过。。。
所以我一直用的是Option 2
失败原因主要有三:国内用git clone源码非常慢,经常timeout;安装过程的各种依赖总是有下不到的;安装脚本常常会有些隐藏bug。
其实,成也Chef,败也Chef。Chef可以让我们的安装简化成为一句bash,但是越是自动化的东西,也越容易跑偏。。。
所以,我会在接下来的安装系列指导(coming soon哦)里告诉大家,我们国内用户(墙内),或者需要遵守公司防火墙的用户,该怎么来安装CloudFoundry。
但是在此之前,你必须了解Chef在CF中的工作方式,才能在遇到Error、看到一堆令人头大的track时,迅速定位到哪里出了问题,瞬间看出的是什么类型的问题,然后打开出错的文件或脚本,直接fix掉或者另辟蹊径。
来,先温习下安装过程:
使用git clone下来vcap包。
完事儿后你有可能会发现dea,router,uaa,acm甚至cloudcontroller目录下是空的,没关系,手动cd到该目录下,执行git clone https://github.com/cloudfoundry/uaa.git(以uaa为例子,其余的同理)。或者cd 到vcap下,执行git submodule update --recursive --init
然后执行安装脚本: ../vcap/dev_setup/bin/vcap_dev_setup
后面省略,因为很可能在某个地方就error了。这时候呢,你就需要Chef的知识啦,本文的干货来了:
Chef知识传送门:
http://blog.csdn.net/cherry_sun/article/details/7711913
备注:链接中文章的作者是我们Team的大牛cherry_sun(姑且就这个名字吧,他昵称比较多。。。),他博客里的文章,我会在最近按类别转到社区上来。
广告:cherry_sun马上就要找工作了,PaaS的主们你们还在等什么?Offer速来!
祝大家学习愉快,搭建顺利!