开源的PaaS方案:在OpenStack上部署CloudFoundry (二)部署OpenStack
- 硬件要求
- 安装OpenStack
- 1 安装CentOS 65系统并清空iptables防火墙规则
- 2 安装系统需要的工具包包括Openstack依赖的和CloudFoundry依赖的
- 3 安装EPEL repo
- 4 Upgrade 当前系统
- 5 安装openstack repo 目前CloudFoundry最高只能支持Havana版的Openstack
- 6 安装packstack
- 7 同步时间
- 8 安装单节点openstack
- 配置Openstack
- 0 安装后的Openstack Dashboard有个小bug使用下面命令fix
- 1 demo tenant的默认配额Quota不足以安装CloudFoundry所以先要增加demo的Quota
- 2 扩展磁盘空间
由于AWS和vSphere/vCloud都不是免费获得的,本文将描述如果部署CloudFoundry到开源IaaS的Openstack上。本文的重点是如何部署CloudFoundry,所以OpenStack的部署采取最简单的方案--单节点OpenStack,如果读者希望了解如何部署一个分布式的高可用性的OpenStack,请参考网络上面的相关文章。
所以,笔者选择了CentOS和Redhat的工具packstack来部署一个单节点的OpenStack。目前CloudFoundry只支持Folsom,Grizilly,和Havana三个版本的OpenStack。
0. 硬件要求
1. 安装OpenStack
1.1 安装CentOS 6.5系统,并清空iptables防火墙规则,经验证CENTOS 7 安装juno RDO也是可以的。
- # iptables -F
- ##centos7 运行如下命令
- systemctl disable firewalld
- systemctl stop firewalld
1.2 安装系统需要的工具包,包括Openstack依赖的和CloudFoundry依赖的
- <pre name="code" class="python"># yum install -y gcc python perl vim man wget ntpdate sysstat zlib-devel krb5-devel openssl-devel zlib libyaml-devel readline-devel libyaml-devel readline-devel gcc-c++ glibc-headers readline libxml2 libxml2-devel libxslt libxslt-devel genisoimage sqlite sqlite-devel mysql mysql-devel postgresql postgresql-devel git 经验证,这一句不要
sudo yum install gcc ruby ruby-devel mysql-devel postgresql-devel postgresql-libs sqlite-devel libxslt-devel libxml2-devel yajl-ruby 官方文档中的脚本,但是安装bosh的时候还是会遇到错误.
- 在安装bosh_cli的时候会报nokogiri 安装错误,需要执行下面的语句修正
- sudo yum groupinstall "Development Tools"
1.3 安装EPEL repo 安装openstack 这部分是一havana讲解的,juno的安装请参考官方文档。
- # rpm -Uvh http://ftp.sjtu.edu.cn/fedora/epel/6/i386/epel-release-6-8.noarch.rpm
1.4. Upgrade 当前系统
- # yum -y upgrade
1.5 安装openstack repo, 目前CloudFoundry最高只能支持Havana版的Openstack
- # rpm -Uvh https://repos.fedorapeople.org/repos/openstack/EOL/openstack-havana/rdo-release-havana-9.noarch.rpm
应为现在Havana 已经归类为老版本的openstack 路径发生了变化 epel 的路径错误
1.6 安装packstack
- # yum install -y openstack-packstack
1.7 同步时间
- # ntpdate -u time.asia.apple.com
1.8 安装单节点openstack
- # packstack —allinone
2.配置Openstack
使用packstack安装之后的Openstack,所有的服务都安装在了一个节点上,并且创建了一个叫demo tenant和叫demo的用户。本文即使用demo用户和demo tenant安装CloudFoundry。
2.0 安装后的Openstack Dashboard有个小bug,使用下面命令fix
- # sed -i 's/"Member"/"\_member\_"/' /etc/openstack-dashboard/local_settings
- # service httpd restart
2.1 demo tenant的默认配额(Quota)不足以安装CloudFoundry,所以先要增加demo的Quota
- # nova quota-update --instances 30 --ram 60000 --cores 40 $(keystone tenant-list | awk '/ demo/ {print $2}’)
2.2 扩展磁盘空间 这一部分可以不执行在juno的时候
Openstack 默认分配给cinder的空间为20G, 而CloudFoundry大约需要500G的空间,需要先扩展一下cinder-volumns的大小. 如果有未分配的磁盘空间,可以直接扩展cinder-volumes这个volume group。如果没有磁盘空间的话,这里需要借助一下linux的loop device。关于loop device,详见http://en.wikipedia.org/wiki/Loop_device
- # dd if=/dev/zero of=/var/lib/cinder/cinder-volumes1 bs=1k count=500000000
- # losetup -f (查找一个没有使用的loop device,笔者这里使用/dev/oop2)
- # losetup /dev/loop2 /var/lib/cinder/cinder-volumes1
- # pvcreate /dev/loop2
- # vgextend cinder-volumes /dev/loop2
这样,Openstack就已经设置完成,可以准备安装CloudFoundry了
开源的PaaS方案:在OpenStack上部署CloudFoundry (二)部署OpenStack的更多相关文章
- [原]CentOS7安装Rancher2.1并部署kubernetes (二)---部署kubernetes
################## Rancher v2.1.7 + Kubernetes 1.13.4 ################ ##################### ...
- 开源的PaaS方案:在OpenStack上部署CloudFoundry (一)简介
目录(?)[-] OpenStack简介 OpenStack是一个美国国家航空航天局和Rackspace合作研发的以Apache许可证授权并且是一个自由软件和开放源代码项目 OpenStack是一个云 ...
- 开源的PaaS方案:在OpenStack上部署CloudFoundry (四)使用Micro Bosh部署CloudFoundry
使用bosh部署应用是需要两部分,一个是创建虚拟机使用的模板stemcell,另外一个是应该的Release.所以,部署CloudFoundry之前需要上传stencil和release 4.1.1 ...
- 开源的PaaS方案:在OpenStack上部署CloudFoundry (三)部署BOSH
BOSH是CloudFoundry提供的用来安装部署和升级CloudFoundry的自动化工具,可是说是CloudFoundry的一部分.总体来说,BOSH是Client/Server结构, BOSH ...
- 开源的PaaS方案:在OpenStack上部署CloudFoundry (五)常见问题
部署CloudFoundry可能遇到的问题 1. Bosh 报告 OpenStack API Request Entity Too Large error 解决办法,修改/etc/nova/api-p ...
- OpenStack使用Bosh部署CloudFoundry(一)—准备OpenStack环境
版本说明: CloudFoundry:V2版本 OpenStack:Folsom或者Grizzly版本 本篇文章采用OpenStack Folsom+nova-network的OpenStack环境, ...
- 部署OpenStack问题汇总(二)--openstack dashboard 问题解决方案
在打开dashboard的时候报错: LocationParseError at /admin/ (LocationParseError(...), 'Failed to parse: Failed ...
- Kubernetes部署SpringCloud(二) 部署ZUUL与服务 非host, 伸缩与负载均衡
因为服务需要可缩容,所以不能使用host部署. 涉及两个应用,zuul,basic-info-api 验证,在k8s任意一个node 从zuul 访问 basic-info-api 创建一个Sprin ...
- K8S 部署 ingress-nginx (二) 部署后端为 tomcat
在上面已经部署了 ingress-nginx, https://www.cnblogs.com/klvchen/p/9903480.html 创建 service 和 pods cd vi tomca ...
随机推荐
- Adnroid 反编译APK
http://blog.csdn.net/vipzjyno1/article/details/21039349 http://blog.csdn.net/zx19899891/article/deta ...
- Hive中如何添加自定义UDF函数以及oozie中使用hive的自定义函数
操作步骤: 1. 修改.hiverc文件 在hive的conf文件夹下面,如果没有.hiverc文件,手工自己创建一个. 参照如下格式添加: add jar /usr/local/hive/exter ...
- unsupported major.monor version 51.0 (unable to load *.servlet)………………
unsupported major.monor version 51.0 (unable to load *.servlet)------ 这种异常是因为编译war或者java程序的JDK版本和运行部 ...
- Ubuntu12.10 使用JLink连接开发板用arm-gdb调试ARM程序
Part1 环境搭建和工具安装 1.1 设置交叉编译环境 安装相关的编译工具: sudo apt-get install build-essential gcc-arm-linux-gnueabi 这 ...
- table获取checkbox是否选中的几种方法
function test() { $(".table tbody tr").find("td:first input:checkbox").each(func ...
- C# json字符串格式
[{\"MenId\":\"1\",\"MenName\":\"内容管理\",\"ParentId\" ...
- 25+开源的在线购物软件(PHP, JavaScript 和 ASP.Net)
25 +免费开源的电子商务解决方案,提供了建立一个在线购物所有主要功能,并能够连接到一个支付处理系统1. Magento Magento是一套专业开源的PHP电子商务系统.Magento设计得非常灵活 ...
- Qt信号槽的一些事
注:此文是站在Qt5的角度说的,对于Qt4部分是不适用的. 1.先说Qt信号槽的几种连接方式和执行方式. 1)Qt信号槽给出了五种连接方式: Qt::AutoConnection 0 自动连接:默认的 ...
- Hive SQL的编译过程
文章转自:http://tech.meituan.com/hive-sql-to-mapreduce.html Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用.美团数据仓库也是 ...
- myslq的索引类型为MyISAM和BDB的表:复合索引下的自增长
本文源自:http://www.himigame.com/mysql/781.html 3.6.9. 使用AUTO_INCREMENT 可以通过AUTO_INCREMENT属性为新的行产生唯一的标识: ...