CloudFoundry AWS China Region安装

最近,PaaS关键搜索热度不断升高,Pivotal Cloud Foundry在中国也加大了投入,并且取得了一定的成绩。AWS China Region用户数也在不断增加。于是,在AWS中国区域部署了cloud foundry,感觉Aws 中国区与其全球服务差异不小,经历了一些小坑,记录一下希望对大家有些帮助。


1. AWS中国区处于中国的网络环境下;

这个还是影响不小的,我们都知道cloud foundry的实现包括Java/C/Ruby/Golang/Shell,其依赖的库数不胜数,而这些包及OS本身的镜像,很多在国外,非常慢的网速加上墙,是摆在面前很大的障碍。解决的方法大概有以下几个:


2. Ubuntu AMI不全的问题;

打开可爱的中国区页面,可用的服务相比全球区域少多了。但总算有EC2可用,启动一个实例开工吧:)。第一步选择AMI就以为自己看错了,ubuntu的server只是14.04的纯净版,12.04都是有预装软件的版本。如果用14.04,你将遇到一些奇怪的问题,足够使你感到无助,比如默认采用的内核3.13.0-48-generic似乎就没有完整的cgroup的支持。内核3.13.0-52-generic似乎是支持的,可惜尝试在AWS中国区上升级到此内核,仍然有问题,这块尝试下来需要点功夫。如果选择12.04,由于无标准版,已经反馈给了AWS中国区的架构,期待后续的支持。

再有一个问题是,cloudfoundry组件较多,一个一个研究下来再安装,恐怕需要点时间,必须得找个安装工具。首先,想到原厂的BOSH,其需要下载指定的种子映像,很遗憾,AWS中国区暂时没有,当然我们可以自己想办法,比如从其它region下载再导入或是自己制作上传,又是一把时间。算了,试试其它安装工具吧。


3.  使用国内的镜像;

-  ubuntu的系统镜像,可参考 

Ubuntu应用之——apt-get更改源地址

 里面有很多选择,逐一尝试吧,总有一个值得你拥有。有意思的是,使用sina的映像,有一个小时不好使,上网找了找,有位仁兄说,等等就好了,我回头再试了下,果然:)。

- Ruby的镜像,可使用万能的淘宝,详见淘宝ruby镜像用法。速记如下:

  1. $ gem sources --remove https://rubygems.org/ 
  2. $ gem sources -a https://ruby.taobao.org/ 
  3. $ gem sources -l

- 自设代理,在tokyo或新加坡region开一台机器,使用proxychains或tsock代理。

4. 自动化安装工具;

可选的有:

- https://github.com/pivotal-cf/cloudformation-template

- https://github.com/wdxxs2z/script

https://github.com/yudai/cf_nise_installer

打开这些工程大家有什么感觉?是不是也够看一阵子的了,所以说cloud foundry还是够大,安装工具都要写这么多来弄:)。大家依喜好选择吧。

下面是一些遇到过的问题和一些备忘笔记,及其可选的解决方法供参考;


1. Application failed to stage with the error"Failed setting memory limit: Permission denied;

这个错误出现在你好不容易安装好了,可以登录用户创建应用了,部署时可能会碰到,参考:
   执行如下步骤修复此问题(参考https://github.com/yudai/cf_nise_installer/issues/72):
   a. sudo apt-get install linux-virtual
   b. memory.memsw.limit_in_bytes might be not be available on Ubuntu, we need Configure kernel parameters by editing the /boot/grub/grub.cfg file. The easiest way to set a value to the parameter is :
    perl -p -i -e 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"/g' /etc/default/grub
    /usr/sbin/update-grub
   c. sudo reboot
备注:如果在AWS上采用ubuntu-trusty-14.04-amd64-server-20150325 (ami-1220b22b), kernal id: aki-9e8f1da7启动机器,此法无效。
2. 升级内核 
如果用14.04版本的时候,可能会遇到。当然我们可以重新编译,但也有现在的编译好的包可以直接升级,但在AWS 中国区升级发现有问题,最后安装后执行了以下步骤完成升级:
-.   sudo apt-get install linux-virtual
-. sudo perl -p -i -e 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"/g' /etc/default/grub
-. edit /boot/grup/menu.lst, add:
 title           Ubuntu 14.04.2 LTS, kernel 3.13.0-52-generic
 root            (hd0)
 kernel          /boot/vmlinuz-3.13.0-52-generic root=LABEL=cloudimg-rootfs ro console=hvc0
 initrd          /boot/initrd.img-3.13.0-52-generic

 title           Ubuntu 14.04.2 LTS, kernel 3.13.0-52-generic (recovery mode)
 root            (hd0)
 kernel          /boot/vmlinuz-3.13.0-52-generic root=LABEL=cloudimg-rootfs ro  single
 initrd          /boot/initrd.img-3.13.0-52-generic 
-. sudo /usr/sbin/update-grub
-. sudo reboot
-. uname -r => 3.13.0-52-generic 
3. 一些Timeout问题;

安装时经常因为Timeout的问题导致失败,解决办法居然是6次以内不断尝试,看到这个方法觉得自己好奇怪,不过好多问题就这样过了哇。。。。

4. Uninstall rvm;   "rm -rf ~/.rvm" (重试脚本时会用到,如果用cf_nise_install,也要清理目录)
5. stdin: is not a tty"
sed sed -i 's/^mesg n$/tty -s \&\& mesg n/g' /root/.profile
dfs 
6.修改时区:tzselect; echo "TZ='Asia/Shanghai'; export TZ" /etc/profile

7. 其它:Pivotal目前文档写的还是不错的,有空可以再翻看一下变化,参见 http://docs.pivotal.io/pivotalcf/getstarted/pcf-docs.html

一安装成功后,我们会看到如下景象:
    

登录:

部署应用:


检查一下:


   


发布了16 篇原创文章 · 获赞 5 · 访问量 19万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章