最近,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
登錄:
部署應用:
檢查一下: