热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用devstack安装和配置openstack开发环境

OpenStack的安装和配置有一点复杂,特别对于初学者来,第一次安装OpenStack时经常会碰到很多的问题。不过在Openstack社区中,一些开发者开发了一些自动化脚本来方便搭建OpenStack的开发环境,其中,DevStack是其中相对比较完善的,也是OpenStack官方网站推荐
OpenStack的安装和配置有一点复杂,特别对于初学者来,第一次安装OpenStack时经常会碰到很多的问题。不过在Openstack社区中,一些开发者开发了一些自动化脚本来方便搭建OpenStack的开发环境,其中,DevStack是其中相对比较完善的,也是OpenStack官方网站推荐的用于了解OpenStack时搭建环境的方法。

DevStack是由Rackspace公司开源的一套用Bash编写的自动化脚本,用于为OpenStack构建和配置一整套完整的开发环境。DevStack的官方网站为http://devstack.org/,可以到该网站上查看DevStack脚本的使用方法及其工作原理。

目前,DevStack对Ubuntu 12.04和Fedora 16及以上的Ubuntu和Fedora系统有比较完善的支持,选择在*操作系统上使用DevStack可能需要做一些修改才能正常工作。所以,这里的示例以在Ubuntu 12.04 系统上使用DevStack脚本来搭建OpenStack开发环境,其过程非常简单,只分为如下两个步骤:

(1)下载DevStack的代码仓库,命令行如下:
git clone git://github.com/openstack-dev/devstack.git

(2)运行stack.sh脚本,命令行操作如下:
jay@my-ubuntu:~$ cd devstack/
jay@my-ubuntu:~/devstack$ ./stack.sh

Horizon is now available at http://192.168.158.31/
Keystone is serving at http://192.168.158.31:5000/v2.0/
Examples on using novaclient command line is in exercise.sh
The default users are: admin and demo
The password: admin
This is your host ip: 192.168.158.31
stack.sh completed in 1663 seconds.
#看到最后这样的信息,说明OpenStack已经成功安装和配置
由于stack.sh脚本会自动下载大量的被依赖的软件包和OpenStack源代码,还要进行各种配置文件和数据库的初始化,所以第一次执行stack.sh脚本比较花费时间,大约需要几十分钟到一个小时不等(根据处理器速度和网络带宽的不同而不同)。
在Ubuntu系统中运行stack.sh脚本过程中,因为需要经常使用“sudo”命令去安装软件包和写配置文件,所以可能会提示输入当前用户的密码;因为需要配置一些数据库、OpenStack的认证,所以可能会有一些数据库用户名、密码的确认需要与用户进行交互。在执行DevStack的stack.sh之前,用户也可以填写本地自己配置的文件名为localrc的配置文件,示例如下:
DATABASE_PASSWORD=123456      #请根据需要修改此配置文件
RABBIT_PASSWORD=123456
SERVICE_TOKEN=123456
SERVICE_PASSWORD=123456
ADMIN_PASSWORD=admin
HOST_IP=192.168.111.111
如果准备了这样的本地配置文件,那么在运行stack.sh脚本时就会减少这些密码和认证信息的确认过程。关于Hypervisor的配置,在DevStack源代码库的默认配置文件stackrc中有如下的两行配置:
VIRT_DRIVER=${VIRT_DRIVER:-libvirt}
LIBVIRT_TYPE=${LIBVIRT_TYPE:-kvm}
所以,DevStack安装OpenStack时,默认是设置libvirt作为Hypervisor的驱动的,使用QEMU/KVM作为Hypervisor,只有在不能成功加载“kvm”模块时才会退回到使用QEMU纯软件模拟的虚拟化方式。在执行完stack.sh脚本安装好OpenStack之后,也可以查看“kvm”和“kvm_intel”(或“kvm_amd”)模块是否成功加载,还可以查看/etc/nova/nova.conf文件中有如下两项:
libvirt_type=kvm
compute_driver=libvirt.LibvirtDriver
一般来说,正常执行完DevStack中的stack.sh脚本后,OpenStack的各项服务(如计算、镜像、控制面板、网络等)都已经正常打开处于可用状态。当然,如果安装过程中有一些错误出现,则可以根据其源代码进行相应的修改来解决或绕过一些问题。当时需要管理这些OpenStack服务时,或者运行stack.sh前需要清理环境时,可以执行DevStack中的unstack.sh脚本来停止OpenStack相关的服务和清理一些中途安装出错的环境。

推荐阅读
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • 本文介绍了如何在不同操作系统上安装Git,以及一些基本和高级的Git操作,包括项目初始化、文件状态检查、版本控制、分支管理、标签处理、版本回退等,并简要提及了开源许可协议的选择。 ... [详细]
  • 本文分享了作者在不同版本的Ubuntu系统上尝试编译VLC for Android的经历,包括遇到的技术难题及解决方案,旨在帮助开发者避免常见的编译问题。 ... [详细]
  • 在Ubuntu 18.04上使用Nginx搭建RTMP流媒体服务器
    本文详细介绍了如何在Ubuntu 18.04上使用Nginx和nginx-rtmp-module模块搭建RTMP流媒体服务器,包括环境搭建、配置文件修改和推流拉流操作。适用于需要搭建流媒体服务器的技术人员。 ... [详细]
  • 尽管Medium是一个优秀的发布平台,但在其之外拥有自己的博客仍然非常重要。这不仅提供了另一个与读者互动的渠道,还能确保您的内容安全。本文将介绍如何使用Bash脚本将Medium文章迁移到个人博客。 ... [详细]
  • 如何在Windows上使用Gitee创建远程仓库
    本文详细记录了在Windows系统上使用Gitee创建远程仓库的步骤,帮助解决无法注册GitHub的问题。 ... [详细]
  • 阿里云服务器搭建详解——Ubuntu
    由于自己电脑配置跟不上,双系统一开,整个电脑就会变得非常卡顿,所以决定在阿里云买一个云服务器。听朋友说,学生买的话是非常便宜 ... [详细]
  • Git Bash 配置 SSH 免密登录及 Gitee SSH 密钥设置
    本文详细介绍了如何在 Git Bash 中配置 SSH 免密登录,并将生成的 SSH 密钥添加到 Gitee 账户中,以实现无需每次输入密码即可进行代码推送。 ... [详细]
  • CRZ.im:一款极简的网址缩短服务及其安装指南
    本文介绍了一款名为CRZ.im的极简网址缩短服务,该服务采用PHP和SQLite开发,体积小巧,约10KB。本文还提供了详细的安装步骤,包括环境配置、域名解析及Nginx伪静态设置。 ... [详细]
  • Requests库的基本使用方法
    本文介绍了Python中Requests库的基础用法,包括如何安装、GET和POST请求的实现、如何处理Cookies和Headers,以及如何解析JSON响应。相比urllib库,Requests库提供了更为简洁高效的接口来处理HTTP请求。 ... [详细]
  • AI炼金术:KNN分类器的构建与应用
    本文介绍了如何使用Python及其相关库(如NumPy、scikit-learn和matplotlib)构建KNN分类器模型。通过详细的数据准备、模型训练及新样本预测的过程,展示KNN算法的实际操作步骤。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 本文详细介绍了 Java 中 org.apache.jena.atlas.lib.ByteBufferLib 类下的 acopyArray 方法,并提供了多个实际应用中的代码示例,帮助开发者更好地理解和使用该方法。 ... [详细]
  • Web动态服务器Python基本实现
    Web动态服务器Python基本实现 ... [详细]
  • 本文介绍了如何通过安装 rpm 包来使用 resize2fs 和 ext2online 工具进行系统文件的扩容。提供了详细的步骤和注意事项。 ... [详细]
author-avatar
汪健宜婉瑜
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有