最近,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应用之——apt-get更改源地址
里面有很多选择,逐一尝试吧,总有一个值得你拥有。有意思的是,使用sina的映像,有一个小时不好使,上网找了找,有位仁兄说,等等就好了,我回头再试了下,果然:)。- Ruby的镜像,可使用万能的淘宝,详见淘宝ruby镜像用法。速记如下:
-
$ gem sources --remove https://rubygems.org/
-
$ gem sources -a https://ruby.taobao.org/
-
$ 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;
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 :/usr/sbin/update-grub
登录:
部署应用:
检查一下: