由于AWS和vSphere/vCloud都不是免费获得的,本文将描述如果部署CloudFoundry到开源IaaS的Openstack上。本文的重点是如何部署CloudFoundry,所以OpenStack的部署采取最简单的方案--单节点OpenStack,如果读者希望了解如何部署一个分布式的高可用性的OpenStack,请参考网络上面的相关文章。
所以,笔者选择了CentOS和Redhat的工具packstack来部署一个单节点的OpenStack。目前CloudFoundry只支持Folsom,Grizilly,和Havana三个版本的OpenStack。
0. 硬件要求
CPU:x86_64架构的Intel i5 i7或者至强
内存: 64GB以上
硬盘:500G以上的剩余空间
1. 安装OpenStack
1.1 安装CentOS 6.5系统,并清空iptables防火墙规则
1.2 安装系统需要的工具包,包括Openstack依赖的和CloudFoundry依赖的
- <pre name="code" class="python">
1.3 安装EPEL repo
1.4. Upgrade 当前系统
1.5 安装openstack repo, 目前CloudFoundry最高只能支持Havana版的Openstack
应为现在Havana 已经归类为老版本的openstack 路径发生了变化 epel 的路径错误
baseurl=https://repos.fedorapeople.org/repos/openstack/EOL/openstack-havana/epel-6/
1.6 安装packstack
1.7 同步时间
1.8 安装单节点openstack
因为HAVANA 版本的packstack 已经终止了生命周期,所以直接运行肯定会报错,报错之后,回事生成一个answer-file的txt 文件,修改里面的配置项
CONFIG_USE_EPEL=n
为
CONFIG_USE_EPEL=y
运行packstack --answer-file=xxx.txt 便可成功安装。
2.配置Openstack
使用packstack安装之后的Openstack,所有的服务都安装在了一个节点上,并且创建了一个叫demo tenant和叫demo的用户。本文即使用demo用户和demo tenant安装CloudFoundry。
2.0 安装后的Openstack Dashboard有个小bug,使用下面命令fix
2.1 demo tenant的默认配额(Quota)不足以安装CloudFoundry,所以先要增加demo的Quota
2.2 扩展磁盘空间
Openstack 默认分配给cinder的空间为20G, 而CloudFoundry大约需要500G的空间,需要先扩展一下cinder-volumns的大小. 如果有未分配的磁盘空间,可以直接扩展cinder-volumes这个volume group。如果没有磁盘空间的话,这里需要借助一下linux的loop device。关于loop device,详见http://en.wikipedia.org/wiki/Loop_device
这样,Openstack就已经设置完成,可以准备安装CloudFoundry了