zoukankan      html  css  js  c++  java
  • 开源的PaaS方案:在OpenStack上部署CloudFoundry (二)部署OpenStack

    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 扩展磁盘空间 
     
    [python] view plaincopy
     
     
    1.   
    由于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也是可以的。

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


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

    [python] view plaincopy
     
     
    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"
    5.   
    
    

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

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

    1.4. Upgrade 当前系统

    [python] view plaincopy
     
     
    1. # yum -y upgrade   


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

    [python] view plaincopy
     
     
    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

    [python] view plaincopy
     
     
    1. # yum install -y openstack-packstack  


    1.7 同步时间

    [python] view plaincopy
     
     
    1. # ntpdate -u time.asia.apple.com  


    1.8 安装单节点openstack

    [python] view plaincopy
     
     
    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

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


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

    [python] view plaincopy
     
     
    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

    [python] view plaincopy
     
     
    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了
  • 相关阅读:
    Node.js连接MySQL数据库及构造JSON的正确姿势
    Lyx输入中文与代码高亮
    查看文件编码 + 查看文件扩展名 + 文件编码转换
    系统重装/装Anaconda后,Windows开始菜单缺少快捷方式解决方案
    Python动态网页爬虫-----动态网页真实地址破解原理
    多线程爬虫
    openpyxl基本操作
    BitMap原理
    Trie(前缀树/字典树)及其应用
    tensorflow和pytorch教程
  • 原文地址:https://www.cnblogs.com/yudar/p/4391536.html
Copyright © 2011-2022 走看看