Ubuntu16安裝OpenStack

前言

《VirtualBox中安裝OpenStack》一文中,已經(jīng)成功安裝過openstack。如今,確定了研究方向就是OpenStack。第一步要做的,就是在實體機安裝配置OpenStack。

由于版本更新,devstack目前只支持ubuntu16,而機房服務器使用的都是ubuntu14.04,很尷尬。嘗試了舊的newton、mitaka、liberty,但是devstack依賴的keystone項目中沒有了這三個分支,失??;嘗試了新的pike、queens,但是ubuntu14中缺少相應的包,失敗。

找到了DevStack 安裝 grizzly-eol 版本 OpenStack一文,以為在local.conf中把分支改為tag就可以了。然而,報錯接連不斷,解決了N個小怪,隨便出來個大BOSS就我攔住了。

最終,把系統(tǒng)換成了Ubuntu16,計劃使用devstack安裝最新版Queens,主要參考DevStack官方文檔《優(yōu)雅安裝OpenStack》使用devstack安裝OpenStack 雙節(jié)點部署。

目標

本文的目標是搭建一個 all-in-one OpenStack,所有核心服務都安裝在ccrfox105節(jié)點上,節(jié)點IP為172.16.0.105。

核心服務包括:身份認證服務keystone,鏡像服務glance,計算服務nova(默認使用KVM虛擬化),網(wǎng)絡服務neutron,儀表板horizon。也需要包含一些支持服務,例如:SQL數(shù)據(jù)庫,消息隊列和NTP。

環(huán)境準備

更換sources.list(可選)

參考《Ubuntu更換源列表》。

1、備份源列表文件
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

2、編輯源列表文件
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-proposed main restricted universe multiverse  
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports 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-proposed main restricted universe multiverse  
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

3、更新資源包
sudo apt-get update

時間同步

1、同步時區(qū)
執(zhí)行命令sudo dpkg-reconfigure tzdata,然后選擇Asia,Shanghai。

2、安裝時間同步工具

sudo apt-get install ntpdate
sudo ntpdate cn.pool.ntp.org
date

devstack下載

1、安裝git
sudo apt-get install git

2、下載devstack并切換到queens分支
git clone https://git.openstack.org/openstack-dev/devstack -b stable/queens

創(chuàng)建stack用戶

方法一:
1、執(zhí)行創(chuàng)建用戶腳本
sudo devstack/tools/create-stack-user.sh

2、將devstack目錄放到/opt/stack中并設置權(quán)限
sudo mv devstack /opt/stack

sudo chown -R stack:stack /opt/stack

3、切換到stack用戶
sudo su - stack

方法二:
1、添加stack用戶
sudo useradd -s /bin/bash -d /opt/stack -m stack

2、給stack用戶添加sudo權(quán)限
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack

3、將devstack目錄放到/opt/stack中并設置權(quán)限
sudo mv devstack /opt/stack

sudo chown -R stack:stack /opt/stack

4、切換到stack用戶
sudo su - stack

更換pip源(可選)

參考《python pip更換國內(nèi)源》。

1、安裝python
sudo apt-get install python

2、創(chuàng)建pip.conf
mkdir ~/.pip && vim ~/.pip/pip.conf

寫入內(nèi)容如下:

[global]
index-url = http://mirrors.aliyun.com/pypi/simple/

[install]
trusted-host = http://mirrors.aliyun.com/pypi/simple/

編譯安裝

1、拷貝local.conf
cd devstack && cp samples/local.conf ./

2、修改local.conf密碼配置為:

ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD

同時在最后添加:

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

3、拷貝local.sh
cp samples/local.sh ./

4、執(zhí)行安裝
./stack.sh

安裝報錯:E: Unable to locate package libsystemd-dev。
(1)安裝libsystemd-dev,sudo apt install libsystemd-dev,沒有找到libsystemd-dev這個包。

(2)查找libsystemd-dev,sudo apt search libsystemd-dev,果然沒有找到libsystemd-dev。

(3)猜測是sources.list的鍋,改成原sources.list,問題解決。

然后報錯pip版本太低,升級卻失敗,刪除.pip目錄,問題解決。。。

接下來,順利安裝,最后報錯:

2018-06-27 00:47:54.156 | More than one SecurityGroup exists with the name 'default'.
2018-06-27 00:47:55.193 | More than one SecurityGroup exists with the name 'default'.
2018-06-27 00:47:55.246 | ++./stack.sh:main:1390                   err_trap
2018-06-27 00:47:55.254 | ++./stack.sh:err_trap:551                   local r=1
2018-06-27 00:47:55.261 | stack.sh failed: full log in /opt/stack/logs/stack.sh.log.2018-06-27-082830
2018-06-27 00:47:55.264 | Error on exit

參考如何修改默認OpenStack安全組中的規(guī)則,查看securitygroup規(guī)則,openstack security group list

在多租戶OpenStack環(huán)境中,存在多個名為“default”的安全組。在這種情況下,請使用安全組ID而不是安全組名稱。云管理員可以使用OpenStack安全組列表來顯示所有安全組及其當前分配的名稱。

再次安裝

我覺得上面的安裝好像失敗了,打算重裝。
1、先在devstack目錄中,執(zhí)行卸載

./unstack.sh
./clean.sh

2、再次安裝
./stack.sh

最后還是報同樣的錯誤。不管了,測試下看看。

測試使用

1、訪問 http://172.16.0.105/dashboard ,用戶名輸入admin,密碼輸入secret,登錄控制臺。

2、項目,網(wǎng)絡,創(chuàng)建網(wǎng)絡和路由


image

3、項目,計算,創(chuàng)建實例


image

報錯:

Error: Failed to perform requested operation on instance "vm1", the instance has an error status: Please try again later [Error: Host 'ccrfox105' is not mapped to any cell].

我們查看一下openstack的服務是否正常:

openstack service list
openstack endpoint list
openstack compute service list

提示:Missing value auth-url required for auth plugin password
解決辦法:進入devstack目錄,執(zhí)行

source openrc voidking project
source openrc admin admin

雖然Missing value auth-url required for auth plugin password的問題解決了,但是還是無法創(chuàng)建實例。

參考OpenStack應用、報錯,執(zhí)行nova-manage cell_v2 discover_hosts,問題解決。

網(wǎng)絡問題

實例創(chuàng)建成功了,也分配了浮動IP為172.24.4.7,但是從ccrfox105上卻ping不通實例。參考Openstack創(chuàng)建實例--horizon篇,進行如下設置:

1、項目,網(wǎng)絡,安全組,創(chuàng)建安全組。


image

2、管理規(guī)則,添加出口入口icmp規(guī)則和tcp規(guī)則。


image

3、實例的安全組選擇新建的規(guī)則。


image

然后,再次ping 172.24.4.7,網(wǎng)絡就通了。

測試訪問

1、項目,計算,實例,實例名稱,日志。即可看到cirros系統(tǒng)的用戶名和密碼。


image

2、然后在ccrfox105上,ssh登錄cirros系統(tǒng)。


image

卸載devstack

如果devstack安裝失敗或者不再需要,那么可以對它進行卸載。

執(zhí)行./unstack.sh./clean.sh,卸載openstack。然后刪除stack用戶,刪除/opt/stack目錄。

或者,干脆重裝系統(tǒng),因為卸載后會有很多遺留問題。

后記

至此,完成了單節(jié)點OpenStack的安裝,也進行了簡單地創(chuàng)建實例和測試,nice。

接下來有兩個計劃,一個是嘗試OpenStack更多的操作和設置,以便熟悉這個平臺。另一個是使用devstack安裝多節(jié)點OpenStack,或者手動安裝多節(jié)點Openstack。計劃搭建一個Controller節(jié)點和兩個Compute節(jié)點。

在安裝時,自作聰明地更換了sources.list和pip.conf,以為可以加速安裝,沒想到卻給自己挖了坑,同學們引以為鑒啊。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容