部署簡介:openstack使用穩(wěn)定版的rocky版本devstack來部署。部署前準(zhǔn)備兩臺虛機(jī),一臺作為compute,一臺controller。配置網(wǎng)絡(luò)使虛機(jī)可以連接到外網(wǎng),停止防火墻,禁止防火墻開機(jī)自啟,關(guān)閉SELINUX。修改配置文件,設(shè)為disabled,配置/etc/hostname,/etc/hosts。配置stack用戶,新增運(yùn)行配置文件 local.conf后開啟部署。官網(wǎng)參考文檔https://docs.openstack.org/devstack/latest/guides/multinode-lab.html
部署詳情:
1.增加centos7的虛機(jī),配置ip
2.打開 vi /etc/resolv.conf,增加 nameserver 8.8.8.8
重啟網(wǎng)絡(luò): service network restart
3.打開 vi /etc/sysconfig/network-scripts/ifcfg-ens160
增加
DNS1=8.8.8.8
重啟網(wǎng)絡(luò)
ifdown ens160
ifup ens160
停止防火墻
systemctl stop firewalld.service
禁止firewall開機(jī)啟動
systemctl disable firewalld.service
關(guān)閉SELINUX。修改配置文件,設(shè)為disabled
vi /etc/selinux/config
SELINUX=disabled
vi /etc/hostname
comtroller 增加rocky-controller
compute增加rocky-compute
vi /etc/hosts
172.22.160.63 rocky-controller
172.22.160.61 rocky-compute
Centos默認(rèn)的更新源比較慢,換成國內(nèi)阿里云的源會快很多。
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.backup
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
生成緩存
yum makecache
(3) pip下載超時(shí)
修改pip的源為國內(nèi)的源。
cd ~
mkdir .pip
cd .pip
vim pip.conf
配置內(nèi)容為
[global]
timeout = 6000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
/etc/hosts
下載devstack,安全openstack神器(dockey)
yum install git
git clone -b stable/rocky https://git.openstack.org/openstack-dev/devstack

配置stack用戶
devstack/tools/create-stack-user.sh
mv devstack /opt/stack
chown -R stack:stack /opt/stack/devstack
su - stack
cd devstack
新增運(yùn)行配置文件 local.conf
controller
[[local|localrc]]
HOST_IP=172.22.160.63
FLAT_INTERFACE=ens160
FIXED_RANGE=10.4.128.0/20
FLOATING_RANGE=172.22.160.192/26
FIXED_NETWORK_SIZE=4096
MULTI_HOST=1
LOGFILE=/opt/stack/logs/stack.sh.log
ADMIN_PASSWORD=admin
DATABASE_PASSWORD=admin
RABBIT_PASSWORD=admin
SERVICE_PASSWORD=admin
GIT_BASE=http://git.trystack.cn
USE_BARBICAN=True
TACKER_BRANCH=stable/rocky
enable_plugin networking-sfc ${GIT_BASE}/openstack/networking-sfc $TACKER_BRANCH
enable_plugin barbican ${GIT_BASE}/openstack/barbican $TACKER_BRANCH
enable_plugin mistral ${GIT_BASE}/openstack/mistral $TACKER_BRANCH
compute配置文件local.conf
[[local|localrc]]
HOST_IP=172.22.160.61 # change this per compute node
FLAT_INTERFACE=ens160
FLOATING_RANGE=172.22.160.192/26
MULTI_HOST=1
LOGFILE=/opt/stack/logs/stack.sh.log
ADMIN_PASSWORD=admin
DATABASE_PASSWORD=admin
RABBIT_PASSWORD=admin
SERVICE_PASSWORD=admin
DATABASE_TYPE=mysql
SERVICE_HOST=172.22.160.63
MYSQL_HOST=$SERVICE_HOST
RABBIT_HOST=$SERVICE_HOST
GLANCE_HOSTPORT=$SERVICE_HOST:9292
ENABLED_SERVICES=n-cpu,q-agt,n-api-meta,c-vol,placement-client
NOVA_VNC_ENABLED=True
NOVNCPROXY_URL="http://$SERVICE_HOST:6080/vnc_auto.html"
VNCSERVER_LISTEN=$HOST_IP
VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN
開啟部署
./stack.sh
問題1 安裝過程中報(bào)錯(cuò)Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
yum provides '*/applydeltarpm'
yum install deltarpm
問題2 安裝過程中報(bào)錯(cuò) SyntaxError: '<' operator not allowed in environment markers
pip install --upgrade pip
pip install --upgrade setuptools
問題3 pip升級后執(zhí)行./stack.sh又被回退
原因安裝檢查版本不在范圍內(nèi),后面又需要高版本。去掉cap-pip.txt 文件中,<10的部分。
Cannot uninstall 'pyOpenSSL'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
問題4 安裝過程中報(bào)錯(cuò)Cannot uninstall pyOpenSSL. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
pip show pyOpenSSL

cd /usr/lib/python2.7/site-packages
ll | grep 'pyOpenSSL'
將文件改名或刪除
問題5 openstack 安裝3:mariadb-libs-10.1.20-2.el7.x86_64: [Errno 256] No more mirrors to try.
所有類似的問題在自己電腦下載下來rpm安裝包上傳到虛機(jī)上,手動安裝
問題6 安裝過程中報(bào)錯(cuò)后,都要執(zhí)行./unstack.sh,再執(zhí)行./stack.sh,否則會出現(xiàn)一些問題
問題7 會出現(xiàn)一些網(wǎng)速慢導(dǎo)致的報(bào)錯(cuò),修改pip的源為國內(nèi)的源。
cd ~
mkdir .pip
cd .pip
vim pip.conf
配置內(nèi)容為
[global]
timeout = 6000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
vi /opt/stack/devstack/tools/cap-pip.txt

./stack.sh部署成功后打印如圖所示

虛機(jī)關(guān)機(jī)后自動重啟,但是https沒有安裝成功

安裝成功http://172.22.160.63/dashboard/用戶名密碼都是admin
關(guān)機(jī)后重啟
service httpd restart
iptables -F(虛機(jī)每次重啟都要執(zhí)行)