准备试用下Cloud Foundry v2.0,组件很我,安装不便。在网上找到了颜开同学的“CloudFoundry v2面面谈,内赠MicroCFv2福利”,开试了试用过程。
- 安装VMware Player;
- 下载MicroCFv2;
- 使用该镜像启动一台虚拟机;
- 使用用户名/密码(admin/admin)登录;
- 用ifconfig记录下本机IP;
- 重新配置Cloud_Controller,以方便从外部访问虚拟机:更新/usr/local/src/cloud_controller_ng/config/cloud_controller.yml中的local_route为虚拟机IP,sudo kill掉cloud_controller进程,此进程会自动重启使配置生效;
- 登录虚拟机,开始试用CF v2,下面记录一下期间遇到的问题及其解决方法:
- 登录,执行cf login,使用原文中所述admin/admin登录失败。
方案1 咨询原文作者,回复说时间长了不记得了;
方案2 登录数据库自助解决,方法:
a. 从配置文件中获取数据库密码,参见“/usr/local/src/”目录下“cloud_controller_ng/config/cloud_controller.yml”及“uaa/config/uaa.yml",得到密码信息;
b. 登录数据库,检查密码信息;
sudo su - postgres
登录uaa库: psql -U uaaadmin -d uaadb -h 127.0.0.1 -p 5432
\d 列出数据库中的表 \d users 查看数据表结构 select语句查看表中信息,得到
登录cc库: psql -U ccadmin -d ccdb -h 127.0.0.1 -p 5432,确认此uaa中的用户已在Ccdb中注册,完毕。
重启uaa,此时用admin/admin登录成功,然后可以用命令行更改这些注册信息了。
- 部署第一个app
应用是"started"状态,非“running"状态,本机内存不够用啊,
注意到这个app被分配了1GB内存,命令不包含设置app内存的命令,和以前一样,修改cloud_controller.yml中的"default_memory"重启cc,再删除这个应用重建,得到新的报错信息:“Server error, status code: 400, error code: 170001, message: Staging error: failed to stage application:Failed setting memory limit: Permission denied - /tmp/warden/cgroup/memory/instance-18l8es4kgcb/memory.memsw.limit_in_bytes”。
执行如下步骤修复此问题(参考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
/usr/sbin/update-grub
c. sudo reboot
执行完以上步骤,部署应用成功:
今天到此为止,后面文章再续。。