ubuntu20.04使用devstack部署openstack

一、基础环境准备

个人感觉使用ubuntu安装devstack要比使用centos方便,里面有个组件rabbitmq-server在centos中没有ubuntu安装方便,所以建议使用ubuntu安装。我测试的版本是ubuntu server 20.04.

(一)安装ubuntu server 20.04操作系统

可以用ubuntu server版本,选择最小安装即可,不需要有桌面,但在安装的时候记得选择ssh,否则后期不方便远程连接,如果没有安装ssh,后期也可以参考进行离线安装。最好的安装的过程中就把IP设置好,设置为手动,我用虚拟机安装,选择的是NAT模式,把IP设置为NAT子网中的一个,网关和DNS服务器(1.2.4.8)设置好,后期可以省很多事。
https://blog.csdn.net/zhangyajunna/article/details/104601147?spm=1001.2014.3001.5502

(二)修改国内源

国内源有很多,我喜欢用163源,感觉是不是用的人少,所以速度要快点。。。可以参考:
https://blog.csdn.net/zhangyajunna/article/details/102719895?spm=1001.2014.3001.5502
ubuntu各个版本的源修改步骤都差不多,关键是要修改其中的版本,ubuntu20.04是focal,把这个修改好就可以,最后记得更新源。

sudo apt-get update

(三)准备其它资源

其它资源主要是一些即使全都修改成了国内源,还是会从国外网站下载的资源,最主要的是:
cirros-0.3.4-x86_64-disk.img
etcd-v3.3.12-linux-amd64.tar.gz
get-pip.py
下载链接:
https://download.csdn.net/download/zhangyajunna/76729651
仔细找找也能找到免费的,土豪随意。

(四)检查测试

测试可以联网:

ping www.baidu.com -c 4

在ubuntu 20.04中的Python版本默认为python3.8.10,最起码我的是的,没有python2,先安装下pip

sudo apt install -y python3-pip

这个默认安装的不是最新版,不用管,先这样就好。

二、安装devstack

(一)新增stack用户

sudo useradd -s /bin/bash -d /opt/stack -m stack

授予stack用户sudo权限

echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack

将/opt/stack权限完全给stack用户

sudo chown -R stack:stack /opt/stack

切换到stack用户

sudo su - stack

以下的所有操作都是在stack用户下

(二)获取devstack

在stack用户下获取devstack

git clone ……

个人建议选择devstack最新版本。国内没有VPN,连接github的时候网速是硬伤,但国内也有很多代码仓库,可以拉取github的代码,这个功能非常强大。我喜欢www.gitee.com网站,不过csdn也有自己的,用习惯了,懒得换了。
在www.gitee.com网站注册,然后新建仓库,选择github中的devstack仓库的网址进行导入,很方便,没用过的可以试下,但如果github上的代码仓库非常大,可能失败,一般的都是可以拉取成功的。然后再在ubuntu中git clone国内代码仓库中的代码就可以了。

(三)修改全局和用户pip源

pip源使用的是清华的,感觉清华的pip源要好使一些,不知道是不是错觉。

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

这个会修改用户的pip源

sudo pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

这个会修改全局的pip源
如果只执行了一个,在测试过程中总有一些whl包要从国外下载,恶心的很,也试了别的方法,只有同时修改两个才成功。

(四)将提前下载的文件拷贝到相应目录

将cirros-0.3.4-x86_64-disk.img、etcd-v3.3.12-linux-amd64.tar.gz、get-pip.py三个文件全部拷贝到devstack/files目录中,注意修改这三个文件的所有者为stack

sudo chown stack:stack get-pip.py

其余两个类似

(五)修改文件

vi devstack/tool/install_pip.sh
第41行修改为:
LOCAL_PIP="$FILES/get-pip.py"
如果安装过程中反复的从https://bootstrap.pypa.io/get-pip.py下载get-pip.py可以考虑将该文件的第87、88、89行注释掉。

(六)编辑local.conf

在devstack目录下

vi local.conf
内容如下,不需要修改,等熟悉了里面的内容自己再修改
[[local|localrc]]
# use TryStack git mirror
GIT_BASE=http://git.trystack.cn
NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git

# Define images to be automatically downloaded during the DevStack built process.
DOWNLOAD_DEFAULT_IMAGES=False
IMAGE_URLS="http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img"

# Misc
ADMIN_PASSWORD=admin
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
SERVICE_TOKEN=$ADMIN_PASSWORD

# Target Path
DEST=/opt/stack

保存退出。

(七)开始安装

在devstack目录下

FORCE=yes ./stack.sh

接下来就祈祷吧,祈祷你的网速不要断,在安装的过程中注意观察在下载whl包的时候是不是从清华源下载的,如果不是,可以直接中断掉,否则后面肯定要失败,检查上面设置pip源的命令是不是没有执行成功。
我用手机网络装了几次都失败了,用家里的宽带安装也因为网络失败了一次,所以网络真的很重要。

三、主要问题

(一)网络超时
最常见的错误,网络超时,Request Timeout,可能是在更新操作系统源或pip源时都有可能出现。
其中pip源导致网络超时最多,解决方法就是在全局和用户下都设置一次pip源。
(二)版本冲突
在pip下载一些whl包时,提示版本冲突,解决方法是采用最新版本的devstack,或者修改requirements目录下upper-constraints.txt文件中的版本信息,但不建议修改,因为只要有一个版本不对,就会有第二个,因此建议采用最新版本的devstack。
(三)No Module Named pip
用python用的不多,这个错误也一直没有解决,不

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值