当前位置: > 其它学习 > OpenStack >

devstack安装openstack

时间:2019-12-22 13:52来源:linux.it.net.cn 作者:IT
devstack是一套用来给开发人员快速部署Openstack开发环境的脚本,其实对于整个安装过程没有什么好说的,因为脚本写的很完善,全程无脑式安装也没什么大问题,但是因为公司里的网络环境不给力,我的安装过程中还是遇到不少问题,在这里记录一下。

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

1、安装git:

    sudo apt-get install git

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

2、获取devstack脚本:
    git clone https://github.com/openstack-dev/devstack.git

3、执行:
    cd devstack && ./stack.sh

脚本执行全程只需要按照提示设置几个密码,其他无需干预。我没有读脚本的源码,但是根据执行过程的输出信息大致总结出了他的执行过程:

    (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 脚本很简单,安装 git,然后下载 devstack 代码到本地,运行 stack.sh 脚本依次设定 MySQL, RabbitMQ, OpenStack Dashboard 和 Keystone 的密码,密码输入后 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 的这台服务器地址是 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 界面,用户名是 admin,密码是刚才设定的密码,输入正确后就会进入 Dashboard,最新的 OpenStack Dashboard 已经有了很大改善,可以创建或导入 keypairs,启动或终止 instance,分配和注射 IP 给 instance,创建和分配 volume 等,还可以添加和管理用户等。界面如下:




(责任编辑:IT)
------分隔线----------------------------