Ubuntu-OpenStack快速搭建

本文介绍了一种利用devstack脚本在Ubuntu 14.04/16.04上快速部署OpenStack的方法。文章详细说明了环境准备、下载devstack、创建stack用户、配置local.conf文件、启动及登录步骤。同时提供了重启devstack和常见错误处理方案。

Ubuntu-OpenStack快速搭建

  OpenStack有多种安装方式,但是对于初学者来说,我们只是想快速体验OPenStack的功能,并不想花太多时间在安装上面,所以本文介绍一种利用devstack的脚本安装方式。

一、环境

系统版本Ubuntu14.04/16.04,建议准备一个干净的系统进行OpenStack尝试。
官方的解释是:

DevStack will make substantial changes to your system during installation. Only run DevStack on servers or virtual machines that are dedicated to this purpose.

二、安装

1、下载DevStack

$ git clone https://git.openstack.org/openstack-dev/devstack

  进入目录

$ cd devstack

2、创建stack用户
  我们需要创建一个stack用户来运行Devstack,因为该脚本已经不支持直接使用root身份运行;并且由于此用户将对系统进行许多更改,因此要具有sudo权限。
1)创建

$ cd /devstack/tools/

$ ./create-stack-user.sh

2 )修改devstack目录权限,让我们创建的stack用户可以运行

$ chown -R stack:stack /home/devstack

3 )切换到stack用户下

$ su stack

$ cd /home/devstack

3、创建local.conf文件

vim local.conf

打开文件输入以下内容并设置密码

[[local|localrc]]
ADMIN_PASSWORD=secret
DATABASE_PASSWORD= $ADMIN_PASSWORD
RABBIT_PASSWORD= $ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD

这是启动DevStack的最低配置要求。

三、启动

$ cd /devstack
$ ./stack.sh

根据个人网速不同,预估时间为1-7个小时,在这个过程中,会安装很多git trees and packages,耐心等待就好。

四、登陆

根据启动成功的提示信息,在浏览器中输入相应地址,进行登陆。

五、重启devstack

  Devstack没有自带的重启脚本,若是机器重启,openstack的各项服务没办法自动启动。
  比较麻烦的方法是重新运行一次devstack的stack.sh,但是耗时耗力;但如果大家是在虚拟机中进行安装,可以在初次安装成功后,使用虚拟机的快照功能进行备份,下次想使用Openstack,直接使用快照进行还原。

六、一些错误处理

1、

./stac.sh:191 if you wish to run this script anyway run with FORCE=yes /home/dexstack/functions-commom:232: /opt/stack/logs/error.log:No such file or directory

如遇此错误,用如下方式启动脚本:

FORCE=yes ./stack.sh

2、

ImportError: No module named ‘xxx’

例如:

ImportError: No module named extras
ImportError: No module named testtools

如遇到此问题,不要试图去文件中添加相应python模块,因为最后你会发现有循环import问题(别问我怎么知道的)。
devstack里面是不会缺少相应模块的,所以最好的解决办法就是重新安装。

七、后记

  作为新手,我们只是想尽快学习Openstack,而并非要在安装上花费太多时间,因而我们才选择了最为简单的脚本安装方式。
  但简单都是相对的,做OpenStack开发的,没有谁不经受过Devstack的折磨,能不能安装成功,很大程度也取决于你的运气。
  所以出现不可解决问题时,请重新安装Devstack,多次不成功,那么请重新安装操作系统,并确保操作系统是干净的。
  最后,祝大家在安装OpenStack的道路上顺风顺水!
  


<think>我们正在讨论在Ubuntu系统上部署OpenStack云平台。根据提供的引用信息,特别是引用[3]和引用[4],我们可以参考一些已有的安装方法。引用[3]提到了使用sunbeam部署OpenStack,而引用[4]则提到了在RHEL6.2上安装OpenStack时遇到的问题。不过,我们的重点是在Ubuntu上安装。在Ubuntu上安装OpenStack有几种方法,包括:1.使用DevStack(适用于开发和测试环境)2.使用MicroStack(适用于小型生产环境,由Canonical提供)3.使用Juju和MAAS进行大规模部署(适用于生产环境)由于用户没有指定具体版本和规模,我们将提供一种较为通用的方法,即使用MicroStack进行单节点部署(适用于小型环境)。MicroStack是Canonical提供的OpenStack发行版,支持在单个机器上运行,并且安装过程相对简单。###步骤1:安装MicroStackMicroStack以snap包的形式提供。首先,确保系统已经安装了snapd。在Ubuntu16.04及以上版本中,snapd默认已经安装。如果没有,可以安装它:```bashsudoaptupdatesudoaptinstallsnapd```然后,安装MicroStack:```bashsudosnapinstallmicrostack--beta--devmode```注意:这里使用了`--beta`和`--devmode`选项,因为MicroStack仍在开发中。在正式生产环境中,可能需要等待稳定版。###步骤2:初始化MicroStack安装完成后,使用以下命令初始化MicroStack:```bashsudomicrostackinit--auto--control```这个命令将自动配置OpenStack服务,包括网络、计算等。`--auto`选项使用默认配置,`--control`表示将当前节点设置为控制节点。###步骤3:使用OpenStack初始化完成后,就可以使用OpenStack命令行工具了。MicroStack提供了一个封装好的命令行工具`microstack`,例如:```bashmicrostack.openstackimagelist```也可以使用标准的OpenStack客户端,但需要先获取admin-openrc文件。MicroStack初始化完成后会在`/var/snap/microstack/common/etc`目录下生成这个文件。使用以下命令获取环境变量:```bashsource/var/snap/microstack/common/etc/microstack.rc```然后就可以使用标准的OpenStack命令了,例如:```bashopenstackimagelist```###注意事项1.MicroStack默认使用一个网桥(`br-ex`)提供外部网络。如果你的网络接口不是`enp0s3`,可能需要调整网络配置。2.默认情况下,MicroStack会创建一个名为`admin`的项目和用户,以及一个名为`microstack`的初始网络。3.如果需要添加计算节点(多节点部署),可以参考MicroStack的文档。###引用说明在Ubuntu上使用MicroStack部署OpenStack是一种快速简便的方法,特别适合测试和小型环境[^3]。对于大规模生产部署,建议使用Juju和MAAS进行更复杂的部署[^3]。§§相关问题§§1.MicroStack和DevStack在部署OpenStack时有什么区别?2.如何在Ubuntu上使用DevStack部署OpenStack?3.如何配置OpenStack的网络(包括创建外部网络、子网和路由器)?4.如何解决在安装OpenStack过程中遇到的常见错误(例如网络问题或服务启动失败)?</think>### 在Ubuntu上安装和配置OpenStackUbuntu系统上部署OpenStack云平台有多种方法,根据您的需求可选择不同方案。以下是三种主流方法的详细步骤: #### 方法1:使用MicroStack(单节点快速部署)[^3] ```bash # 安装MicroStack snap包 sudo snap install microstack --classic --edge # 初始化单节点OpenStack sudo microstack init --auto --control # 验证安装 microstack.openstack hypervisor list ``` **适用场景**:测试环境或小型生产环境(10节点以内),默认包含Nova、Neutron、Glance等核心服务。 #### 方法2:使用Sunbeam(K8s化生产部署)[^3] ```bash # 安装Sunbeam客户端 sudo snap install sunbeam --edge # 初始化控制平面 sunbeam cluster bootstrap --accept-defaults # 添加计算节点 sunbeam node add <compute-node-ip> --accept-defaults # 部署OpenStack服务 sunbeam openstack enable ``` **特点**: - 控制平面运行在MicroK8s集群中 - 计算节点直接部署在裸机上(非LXC容器) - 支持Ceph分布式存储集成 #### 方法3:手动安装(Ubuntu 22.04 LTS) ```bash # 安装OpenStack客户端 sudo apt install python3-openstackclient # 安装MySQL数据库 sudo apt install mariadb-server python3-pymysql # 配置/etc/mysql/mariadb.conf.d/99-openstack.cnf [mysqld] bind-address = 0.0.0.0 default-storage-engine = innodb # 安装消息队列 sudo apt install rabbitmq-server sudo rabbitmqctl add_user openstack RABBIT_PASS ``` 完整步骤需继续配置: 1. Memcached缓存服务 2. Etcd分布式键值存储 3. Keystone身份认证 4. Glance镜像服务 5. Placement资源跟踪 > **网络注意事项**: > - 生产环境需至少2个NIC(管理网+数据网) > - 建议禁用Ubuntu的Netplan改用传统ifconfig[^2] > - 计算节点需要开启CPU虚拟化支持(BIOS中启用VT-x/AMD-V) --- ### 常见问题解决 1. **LDAP集成问题**: 修改`/etc/keystone/keystone.conf`: ```ini [identity] driver = ldap [ldap] url = ldap://your_ldap_server ``` 测试连接:`ldapsearch -x -H ldap://server -b "dc=example,dc=com"`[^2] 2. **Nova计算服务报错**: 若出现`wait() got unexpected keyword argument 'timeout'`错误,修改: `/usr/lib/python3.8/site-packages/eventlet/green/subprocess.py` 在wait函数中添加timeout参数[^4] ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值