Ubuntu下用devstack單節點部署Openstack
一、實驗環境
本實驗是在Vmware Workstation下創建的單臺Ubuntu服務器版系統中,利用devstack部署的Openstack Pike版。
宿主機:win10 1803 8G內存 256G SSD
虛擬軟件:Vmware Workstation 12.5.9
虛擬機系統:Ubuntu Server 16.04.5 LTS
參考博客:
https://blog.csdn.net/pfztab/article/details/78632393
https://www.cnblogs.com/Allvirus/p/7783962.html
https://docs.openstack.org/devstack/latest/guides/multinode-lab.html
1、在宿主機中安裝好VMware Workstation 12.5.9
VMware Workstation 12.5.9官網下載鏈接
2、在VMware中創建Ubuntu服務器版系統
(1)在 http://mirror.pnl.gov/releases/xenial/ 中找到並下載Ubuntu Server 16.04.5鏡像。
(2)關於如何在VMware中安裝Ubuntu服務器版虛擬機,網上有很多教程,具體可以參考:https://www.cnblogs.com/huozf/p/9780747.html(因為是單節點部署,再加上本身電腦配置不高,所以我分配了4G內存給虛擬機。)
二、環境搭建
1、為root設置密碼並使用root登錄
使用創建虛擬機時創建的用戶登錄Ubuntu後為root用戶設置密碼,以便於後面使用root用戶登錄和後續操作。
(1) 輸入命令:sudo passwd
(2)系統會提示輸入當前用戶密碼
(3)輸入你要為root用戶設置的密碼
(4)再次輸入root用戶的密碼
(5)root用戶密碼設置好後,輸入命令:su root,然後輸入剛剛設置的密碼,切換到root用戶。
2、網絡設置
因為是單節點配置,不需要各節點間的通信,再加上物理機為筆記本不經常插網線,所以只給虛擬機分配了一個NAT的網絡適配器,既可以訪問外網,也可以和物理機通信。為虛擬機設置好固定IP,如果是多節點安裝的話,這一步很重要。
① 回到VMware,點擊編輯,啟動虛擬網絡編輯器,選擇vmnet8,編輯以下內容(當然也可以按照自己的默認設置來):
② 回到ubuntu輸入命令:vim /etc/network/interfaces
③ 在打開的配置文件中輸入以下內容:
(該部分內容根據自己的VMware配置的NAT網絡將address和gateway進行相應的修改,dns根據自己的網絡環境做相應的修改)
auto ens33
iface ens33 inet static
address 10.10.10.10
netmask 255.255.255.0
gateway 10.10.10.2
dns-nameserver 114.114.114.114
3、Linux默認不允許SSH遠程登錄,修改sshd_config文件以允許root遠程登錄。
(1)若在創建虛擬機時沒有選擇安裝ssh,輸入命令:apt install openssh-server,如果已經安裝,自動忽略該步驟。
(2)輸入命令:vim /etc/ssh/sshd_config
(3)在打開的配置文件中找到PermitRootLogin,將其對應值改為yes。保存退出。
(4)重啟服務:service ssh restart
(5)使用ifconfig命令查看虛擬機IP,使用Xshell或putty等ssh客戶端遠程登錄到虛擬機,方便後面的代碼復制操作。
4、修改apt源為國內的源
① 輸入命令: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
③ 保存退出,更新:
apt update
apt upgrade
5、安裝並配置pip
(1)輸入命令:apt install python-pip
(2)配置pip源
mkdir ~/.pip
vim ~/.pip/pip.conf
在打開的文件中輸入以下內容:
[global]
index-url = http://pypi.douban.com/simple/
trusted-host = pypi.douban.com
註:看了很多文檔和博客教程,很多都是配置的豆瓣的pip源,我之前也試過,在安裝P版的過程中每次都會報依賴不匹配的錯誤,如下圖。後來把pip源註銷之後就成功了。
6、設置時間同步
(1)設置時區:dpkg-reconfigure tzdata,選擇Asia --> Shanghai --> ok
註:輸入date 查看系統時間,是否正確,如果正確,可以忽略下邊操作步驟。
(2)apt install ntpdate // 安裝時間同步工具
(3)ntpdate cn.pool.ntp.org // 與網絡服務器同步時間
(4)date // 查看時間是否已同步
三、安裝OpenStack
1、創建stack用戶
創建: useradd -s /bin/bash -d /opt/stack -m stack
賦權: echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
切換到stack用戶:su – stack
重復第二步中的5(2),同樣為stack用戶配置pip源:
mkdir ~/.pip
vim ~/.pip/pip.conf
在打開的文件中輸入以下內容:
[global]
index-url = http://pypi.douban.com/simple/
trusted-host = pypi.douban.com
註:如果出現依賴不匹配的錯誤,這裏的pip源同樣也要註釋掉
2、下載devstack ( stable後面的參數為要下載的版本)
git clone https://git.openstack.org/openstack-dev/devstack -b stable/pike
3、編輯local.conf文件
(1)進入目錄:cd devstack
(2)輸入命令:vim local.conf
(3)添加以下內容:
[[local|localrc]]
HOST_IP=10.10.10.10
LOGFILE=/opt/stack/logs/stack.sh.log
# Credentials
ADMIN_PASSWORD=admin
MYSQL_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz
# enable neutron-ml2-vlan
disable_service n-net
enable_service q-svc,q-agt,q-dhcp,q-l3,q-meta,q-metering,neutron
# Branches
KEYSTONE_BRANCH=stable/pike
NOVA_BRANCH=stable/pike
NEUTRON_BRANCH=stable/pike
SWIFT_BRANCH=stable/pike
GLANCE_BRANCH=stable/pike
CINDER_BRANCH=stable/pike
# 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"
有關local.conf相關配置可以參考:http://www.chenshake.com/local-conf-devstack-profile-parameter-description/
4、執行命令:./stack.sh
大約一個小時左右出現下面信息,表明安裝成功:
Ubuntu下用devstack單節點部署Openstack