zoukankan      html  css  js  c++  java
  • devstack安装openstack

    devstack是一套用来给开发者高速部署Openstack开发环境的脚本,事实上对于整个安装过程没有什么好说的,由于脚本写的非常完好,全程无脑式安装也没什么大问题。可是由于公司里的网络环境不给力。我的安装过程中还是遇到不少问题,在这里记录一下。

    系统要求:Ubuntu 12.04(最好是刚安装好纯净系统。由于我之前在安装过Openstack服务的机器上试验过,会出现一些莫名错误)。以下正式開始:

    1、安装git:

    1 sudo apt-get install git

    这个非常easy吧。但就是这个还着实让我费了一番力气。由于我操心ubuntu初始的源不给力。所以刚安装好便换成了国内的源。偏偏这国内的源无法安装git,换了好机会仍然是这样。(网络连接正常,不清楚为什么会这样)仅仅能单独下载包,然后手动安装了,手动安装 事实上不难(下载到包,之后运行 dpkg -i <包名>),关键是得找对版本号。

    2、获取devstack脚本:

    1 git clone https://github.com/openstack-dev/devstack.git

    3、运行:

    1 cd devstack && ./stack.sh

    脚本运行全程仅仅须要依照提示设置几个password,其它无需干预。我没有读脚本的源代码,可是依据运行过程的输出信息大致总结出了他的运行过程:

        (1)下载并安装Openstack执行所须要的系统软件。大概包含一些python的组件、mysql、rabbitmq-server等

        (2)下载openstack组件。包含nova 、keystone、glance、noVNC、horizon等

        (3)下载并安装openstack源代码所依赖的python库和框架

        (4)安装openstack各组件

        (5)启动各项服务


    尤其是 OpenStack 和它依赖的一些组件在高速发展中。常常出现这个版本号 keystone 对不上那个版本号 dashboard 类似的情况。假设仅仅是想看看 OpenStack 的话。使用 DevStack 是个不错的办法。DevStack 实际上是个 shell 脚本。能够用来高速搭建 OpenStack 的执行和开发环境,特别适合 OpenStack 开发人员下载最新的 OpenStack 代码后迅速在自己的笔记本上搭建一个开发环境出来。正如 DevStack 官方所强调的,devstack 不适合用在生产环境。

    Can I use DevStack for production?
    A: No. We mean it. Really. DevStack makes some implementation choices that are not appropriate for production deployments. We warned you!

    维护一个支持多 Linux 发行版的脚本须要非常多工作,为了保持简单。DevStack 眼下仅仅支持 Ubuntu 11.10 发行版。使用 devstack 脚本非常easy,安装 git,然后下载 devstack 代码到本地,执行 stack.sh 脚本依次设定 MySQL, RabbitMQ, OpenStack Dashboard 和 Keystone 的password,password输入后 stack.sh 脚本会自己主动開始安装必要的软件包和库并下载最新的 OpenStack 及其组件代码,整个过程自己主动完毕无需干预:

    $ sudo apt-get install git
    
    $ git clone git://github.com/openstack-dev/devstack.git
    $ cd devstack/
    $ ./stack.sh 
    
    ################################################################################
    ENTER A PASSWORD TO USE FOR MYSQL.
    ################################################################################
    This value will be written to your localrc file so you don't have to enter it 
    again.  Use only alphanumeric characters.
    If you leave this blank, a random default value will be used.
    Enter a password now:
    ...
    
    horizon is now available at http://192.168.2.240/
    keystone is serving at http://192.168.2.240:5000/v2.0/
    examples on using novaclient command line is in exercise.sh
    the default users are: admin and demo
    the password: vpsee
    This is your host ip: 192.168.2.240
    stack.sh completed in 684 seconds.
    $
    

    假设对默认的 tty.tgz 镜像不惬意,想用 ubuntu 11.10 镜像的话编辑 stack.sh 脚本,在 for image_url in ${IMAGE_URLS//,/ }; do 一行上面增加 IMAGE_URLS=http://uec-images.ubuntu.com/oneiric/current/oneiric-server-cloudimg-amd64.tar.gz 这行,然后又一次执行 stack.sh 脚本:

    $ vi stack.sh
    ...
        IMAGE_URLS=http://uec-images.ubuntu.com/oneiric/current/oneiric-server-cloudimg-amd64.tar.gz
        for image_url in ${IMAGE_URLS//,/ }; do
            # Downloads the image (uec ami+aki style), then extracts it.
            IMAGE_FNAME=`basename "$image_url"`
            if [ ! -f $FILES/$IMAGE_FNAME ]; then
                wget -c $image_url -O $FILES/$IMAGE_FNAME
            fi
    
            KERNEL=""
            RAMDISK=""
    ...
    
    $ ./stack.sh 
    

    另一点值得注意的地方。假设想使用现有的网络。比方安装 devstack 的这台server地址是 192.168.2.240,想让全部执行在上面的 instance 的地址为 192.168.2.241-192.168.2.247 的话,须要改动 stack.sh 里面的 TEST_FLOATING_RANGE,然后又一次执行 stack.sh 脚本:

    $ vi stack.sh
    ...
    #TEST_FLOATING_RANGE=${TEST_FLOATING_RANGE:-192.168.253.0/29}
    TEST_FLOATING_RANGE=${TEST_FLOATING_RANGE:-192.168.2.240/29}
    ...
    
    $ ./stack.sh
    

    DevStack 安装结束后打开浏览器訪问 http://192.168.2.240/ 就能够看到 OpenStack Dashboard 界面。username是 admin,password是刚才设定的password。输入正确后就会进入 Dashboard。最新的 OpenStack Dashboard 已经有了非常大改善,能够创建或导入 keypairs。启动或终止 instance,分配和注射 IP 给 instance,创建和分配 volume 等。还能够加入和管理用户等。

    界面例如以下:

    openstack-dashboard


     
  • 相关阅读:
    Bower 使用
    为什么是static?
    多重继承 -Javascript中的apply与call详解
    留用 未验证 js适配根字体大小
    Js作用域与作用域链详解
    理解AngularJS中的依赖注入
    渐进增强 优雅降级
    前后台数据交换的几种方式:
    then()方法是异步执行
    HTML怎么让img 等比例缩放
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5084767.html
Copyright © 2011-2022 走看看