1. 硬件要求
  2. 安装OpenStack
    1. 1 安装CentOS 65系统并清空iptables防火墙规则
    2. 2 安装系统需要的工具包包括Openstack依赖的和CloudFoundry依赖的
    3. 3 安装EPEL repo
    4. 4 Upgrade 当前系统
    5. 5 安装openstack repo 目前CloudFoundry最高只能支持Havana版的Openstack
    6. 6 安装packstack
    7. 7 同步时间
    8. 8 安装单节点openstack
  3. 配置Openstack
    1. 0 安装后的Openstack Dashboard有个小bug使用下面命令fix
    2. 1 demo tenant的默认配额Quota不足以安装CloudFoundry所以先要增加demo的Quota
    3. 2 扩展磁盘空间
 

由于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防火墙规则,经验证CENTOS 7 安装juno RDO也是可以的。

  1. # iptables -F
  2. ##centos7 运行如下命令
  3. systemctl disable firewalld
  4. systemctl stop firewalld

1.2 安装系统需要的工具包,包括Openstack依赖的和CloudFoundry依赖的

  1. <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 经验证,这一句不要
  2. sudo yum install gcc ruby ruby-devel mysql-devel postgresql-devel postgresql-libs sqlite-devel libxslt-devel libxml2-devel yajl-ruby 官方文档中的脚本,但是安装bosh的时候还是会遇到错误.
  3. 在安装bosh_cli的时候会报nokogiri 安装错误,需要执行下面的语句修正
  4. sudo yum groupinstall "Development Tools"


1.3 安装EPEL repo  安装openstack 这部分是一havana讲解的,juno的安装请参考官方文档。

  1. # rpm -Uvh http://ftp.sjtu.edu.cn/fedora/epel/6/i386/epel-release-6-8.noarch.rpm

1.4. Upgrade 当前系统

  1. # yum -y upgrade

1.5 安装openstack repo, 目前CloudFoundry最高只能支持Havana版的Openstack

  1. # rpm -Uvh https://repos.fedorapeople.org/repos/openstack/EOL/openstack-havana/rdo-release-havana-9.noarch.rpm

应为现在Havana 已经归类为老版本的openstack 路径发生了变化 epel 的路径错误

nano /etc/yum.repo.d/rdo-release.repo
将路径修改为
baseurl=https://repos.fedorapeople.org/repos/openstack/EOL/openstack-havana/epel-6/

1.6 安装packstack

  1. # yum install -y openstack-packstack

1.7 同步时间

  1. # ntpdate -u time.asia.apple.com

1.8 安装单节点openstack

  1. # packstack —allinone
因为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

  1. # sed -i 's/"Member"/"\_member\_"/' /etc/openstack-dashboard/local_settings
  2. # service httpd restart

2.1 demo tenant的默认配额(Quota)不足以安装CloudFoundry,所以先要增加demo的Quota

  1. # 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

  1. # dd if=/dev/zero of=/var/lib/cinder/cinder-volumes1 bs=1k count=500000000
  2. # losetup -f  (查找一个没有使用的loop device,笔者这里使用/dev/oop2)
  3. # losetup /dev/loop2 /var/lib/cinder/cinder-volumes1
  4. # pvcreate /dev/loop2
  5. # vgextend cinder-volumes /dev/loop2
 

这样,Openstack就已经设置完成,可以准备安装CloudFoundry了

开源的PaaS方案:在OpenStack上部署CloudFoundry (二)部署OpenStack的更多相关文章

  1. [原]CentOS7安装Rancher2.1并部署kubernetes (二)---部署kubernetes

    ##################    Rancher v2.1.7  +    Kubernetes 1.13.4  ################ ##################### ...

  2. 开源的PaaS方案:在OpenStack上部署CloudFoundry (一)简介

    目录(?)[-] OpenStack简介 OpenStack是一个美国国家航空航天局和Rackspace合作研发的以Apache许可证授权并且是一个自由软件和开放源代码项目 OpenStack是一个云 ...

  3. 开源的PaaS方案:在OpenStack上部署CloudFoundry (四)使用Micro Bosh部署CloudFoundry

    使用bosh部署应用是需要两部分,一个是创建虚拟机使用的模板stemcell,另外一个是应该的Release.所以,部署CloudFoundry之前需要上传stencil和release 4.1.1 ...

  4. 开源的PaaS方案:在OpenStack上部署CloudFoundry (三)部署BOSH

    BOSH是CloudFoundry提供的用来安装部署和升级CloudFoundry的自动化工具,可是说是CloudFoundry的一部分.总体来说,BOSH是Client/Server结构, BOSH ...

  5. 开源的PaaS方案:在OpenStack上部署CloudFoundry (五)常见问题

    部署CloudFoundry可能遇到的问题 1. Bosh 报告 OpenStack API Request Entity Too Large error 解决办法,修改/etc/nova/api-p ...

  6. OpenStack使用Bosh部署CloudFoundry(一)—准备OpenStack环境

    版本说明: CloudFoundry:V2版本 OpenStack:Folsom或者Grizzly版本 本篇文章采用OpenStack Folsom+nova-network的OpenStack环境, ...

  7. 部署OpenStack问题汇总(二)--openstack dashboard 问题解决方案

    在打开dashboard的时候报错: LocationParseError at /admin/ (LocationParseError(...), 'Failed to parse: Failed ...

  8. Kubernetes部署SpringCloud(二) 部署ZUUL与服务 非host, 伸缩与负载均衡

    因为服务需要可缩容,所以不能使用host部署. 涉及两个应用,zuul,basic-info-api 验证,在k8s任意一个node 从zuul 访问 basic-info-api 创建一个Sprin ...

  9. K8S 部署 ingress-nginx (二) 部署后端为 tomcat

    在上面已经部署了 ingress-nginx, https://www.cnblogs.com/klvchen/p/9903480.html 创建 service 和 pods cd vi tomca ...

随机推荐

  1. si4438 cca 侦听

    /* set GPIO0 for RSSI interrupt / CCA */txbuf[0] = CMD_GPIO_PIN_CFG;txbuf[1] = 27; /* GPIO[0] = 27: ...

  2. 多线程中的synchronized小结

    1.synchronized是Java中的关键字,是一种同步锁.它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个 ...

  3. r语言 技巧总结

    1.table函数返回众数,再转为dataframe as.data.frame(table(x)) 2.使用which 返回数组下标 which(rs.list=="rs1008507&q ...

  4. 用CSS3实现文字描边效果【效果在这儿,创意在你!】

    CSS3作为新兴的前端技术可以实现很多复杂变化的效果,比如文字描边. 这里主要用到text-shadow属性,顾名思义就是为文字加上阴影效果.例: text-shadow:10px 5px 2px # ...

  5. 几种常见的DIV边框样式

    <html> <head> <title>边框样式</title> </head> <body> <p style=bor ...

  6. 关于只能上QQ而其他电脑软件(IE/优酷/腾讯视频...)不能联网的解决

    1.应该是Winsock协议配置有问题,所以进行一下重置工作. 开始-cmd-输入netsh winsock reset命令来重置Winsock目录重新初始化网络环境来恢复网络畅通-重启电脑才能生效 ...

  7. jenkins配置过程遇到的问题

    jenkins 搭建完成后,可以浏览器访问: http://localhost:8081/jenkins, 新建任务过程中遇到以下问题: 1. 源码管理不现实git, 只显示无 解决: 插件管理 -  ...

  8. python中的高阶函数

    高阶函数英文叫Higher-order function.什么是高阶函数?我们以实际代码为例子,一步一步深入概念. 变量可以指向函数 以Python内置的求绝对值的函数abs()为例,调用该函数用以下 ...

  9. Spring中 classpath* 和 classpath 前缀的区别

    // org.springframework.core.io.support.ResourcePatternResolver /** * Pseudo URL prefix for all match ...

  10. Ubuntu下启动/重启/停止apache服务器

    Task: Start Apache 2 Server /启动apache服务# /etc/init.d/apache2 startor$ sudo /etc/init.d/apache2 start ...