Devstack 安裝OpenStack Pike版本(單機環境)


問題背景

最近在研究OpenStack的時候,需要對其源代碼進行調試,公司服務器上部署的OpenStack環境又不能隨意的進行折騰,為了研究的持續性和方便性,就決定再自己的虛擬機上面使用Devstack方式部署一個OpenStack環境起來,搜索各種博客結合着官網的指導,花了2天時間終於把這個事情搞定了,再次分享出這個過程。

環境准備

宿主機:windows 10
虛擬機及其軟件見下圖:

至於這兩個軟件的安裝和配置,如有不懂的可以自行google或者百度。

OpenStack安裝

1、更換apt源為阿里源

vim /etc/apt/sources.list(如果沒有權限,請使用命令:sudo vim /etc/apt/sources.list)

將文本中的內容替換為下面的內容

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse

2、保存並退出,執行下面的命令:

apt-get update
apt-get upgrade

3、設定時間同步
設定時區:dpkg-reconfigure tzdata
選擇Asia -> 再選擇Shanghai -> OK

同步時間命令:

- sudo apt-get install ntpdate // 安裝時間同步工具
- sudo ntpdate cn.pool.ntp.org // 與網絡服務器同步時間
- date // 查看時間是否已經同步

4、安裝pip(此步驟可以省略,因為ubuntu自帶的python已經安裝了pip的,但是由於系統自帶的pip版本可能較低,所以,為了保險起見還是安裝一下的好)

apt-get install python-pip(權限不夠就執行:sudo apt-get install python-pip)

5、pip更換為豆瓣源

mkdir .pip
vim .pip/pip.conf

將下面內容寫入:

[global]
index-url = http://pypi.douban.com/simple/
trusted-host = pypi.douban.com

6、下載devstack(這里安裝的是pike版本)

git clone https://github.con/openstack-dev/devstack -b stable/pike

7、創建stack用戶

devstack/tools/create-stack-user.sh

8、將devstack目錄放到/opt/stack下,並設置權限

mv devstack /opt/stack
chown -R stack:stack /opt/stack/devstack

9、切換到stack用戶,切換用戶后,所有的操作都是在stack用戶下,直到部署成功都不需要切換用戶

su - stack

10、給stack用戶配置一樣的pip豆瓣源(安裝第三方包要快些)

mkdir .pip
vim .pip/pip.conf

將下面的內容寫入:

[global]
index-url = http://pypi.douban.com/simple/
trusted-host = pypi.douban.com

事實證明:這里也會存在問題,當devstack的requirements文件依賴的遠程第三方包的版本,在豆瓣源或者阿里源中找不到匹配版本時,安裝是會出錯的。當出現這種情況的時候,可以注釋掉這個源,如下圖所示:

11、切換到devstack目錄下

cd devstack

重要部分

創建local.conf配置文件

vim local.conf

將下面的內容寫入:

  1 [[local|localrc]]
  2 # Define images to be automatically downloaded during the DevStack built process.
  3 DOWNLOAD_DEFAULT_IMAGES=False
  4 IMAGE_URLS="http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img"
  5 
  6 # use TryStack git mirror
  7 GIT_BASE=http://git.trystack.cn
  8 NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
  9 SPICE_REPO=http://git.trystack.cn/git/spice/sice-html5.git
 10 
 11 
 12 # Credentials
 13 DATABASE_PASSWORD=admin
 14 ADMIN_PASSWORD=admin
 15 SERVICE_PASSWORD=admin
 16 SERVICE_TOKEN=admin
 17 RABBIT_PASSWORD=admin
 18 #FLAT_INTERFACE=enp0s3
 19 
 20 HOST_IP=172.18.0.184

HOST_IP=虛擬機IP

12、切換到files目錄下,執行下面命令

cd files/

wget -c https://github.com/coreos/etcd/releases/download/v3.1.10/etcd-v3.1.10-linux-amd64.tar.gz
wget -c https://github.com/coreos/etcd/releases/download/v3.1.7/etcd-v3.1.7-linux-amd64.tar.gz

一次下載不成功請多次執行上面的命令,直到成功為止

13、切回devstack目錄下

cd ..

14、運行 ./stack.sh

按照上面的步驟,走到這里,一般情況下,只需要等待命令執行結束,出現下面的圖示,就說明devstack的openstack安裝成了

如果遇到其他報錯,主要是檢查local.conf,然后清理上次錯誤配置./unstack.sh和clean.sh,然后再執行./stack.sh配置,等待完成。如果遇到超時(timeout)錯誤,直接再次執行./stack.sh

至此,devstack部署openstack pike版本就圓滿結束了,如又遇到問題的小伙伴可以留言,我會第一時間回復,期待大家一起探討。

參考文章


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM