如果想配置Open stack環(huán)境,新手建議用devstack安裝,devstack是openstack的安裝腳本,安裝起來(lái)比官方安裝文檔簡(jiǎn)單很多,基本服務(wù)都包含在內(nèi)。
1. 安裝環(huán)境
Ubuntu 16.04 desktop (2臺(tái)虛機(jī),一臺(tái)controller,一臺(tái)compute)
Ubuntu16.04對(duì)devstack兼容性比較好,我試過(guò)14.04,18.04 版本,都是安裝失敗。我安裝的Ubuntu 的desktop版,有些安裝教程用的是Ubuntu server版,server版我沒(méi)有試過(guò)。
devstack
devstack 版本是ocata,這個(gè)版本的安裝成功率比較高。 pike 和newton版本我都安裝失敗了。。。
2. 網(wǎng)絡(luò)環(huán)境
我的Ubuntu虛機(jī)是在服務(wù)器ESXI上建的,2網(wǎng)卡,一個(gè)連在vswitch上配置靜態(tài)IP,網(wǎng)關(guān)和DNS server 。另一個(gè)網(wǎng)卡配成‘僅本地連接’。兩臺(tái)虛機(jī)的靜態(tài)IP的那個(gè)網(wǎng)卡都要連到vswtich上保證兩臺(tái)虛機(jī)可以ping通。
如果你的安裝環(huán)境是VMware workstation或者virtualbox, 你需要配置網(wǎng)絡(luò)讓兩臺(tái)虛機(jī)能ping通。
3. 安裝過(guò)程
如果不特殊說(shuō)明,命令都是root權(quán)限
1)把a(bǔ)pt源換成國(guó)內(nèi)的: vi /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
2)apt-get update
3)apt-get upgrade
4)創(chuàng)建國(guó)內(nèi)鏡像源:?
? ? ? mkdir ~/.pip
? ? ? vi?~/.pip/pip.conf
? ? ? 插入以下內(nèi)容:
? ? ? ?[global]
? ? ? ?index-url = https://pypi.douban.com/simple
? ? ? ?download_cache = ~/.cache/pip
? ? ? ?[install]
? ? ? ?use-mirrors = true
? ? ? ?mirrors = http://pypi.douban.com/
5)輸入以下命令安裝各種工具:
? ? ?apt-get install vim
? ? ?apt-get install git
? ? ?apt-get install python-pip
? ? ?pip install --upgrade pip
? ? ?pip install -U os-testr
6)創(chuàng)建stack用戶
好多安裝教程都是先下載devstack的包,然后運(yùn)行里面的create-stack-user.sh的腳本創(chuàng)建stack用戶,但是這個(gè)腳本我在不同版本的Ubuntu,不同版本的devstack中運(yùn)行都會(huì)出現(xiàn) 錯(cuò)誤(host_ip not found). 所以stack用戶自己命令行進(jìn)行創(chuàng)建,創(chuàng)建stack用戶的時(shí)候,退出root用戶,以普通用戶進(jìn)行創(chuàng)建,輸入以下命令:
sudo groupadd stack
sudo useradd -g stack -s /bin/bash -d /opt/stack -m stack
sudo passwd stack
以root權(quán)限更改/etc/sudoers, 給stack用戶添加權(quán)限,sudo vi?/etc/sudoers
插入:stack ALL=(ALL) NOPASSWD:ALL
7)進(jìn)入stack用戶:sudo su - stack
在這個(gè)用戶下再執(zhí)行一遍步驟 5)的命令,后面的操作都是在這個(gè)用戶下進(jìn)行的。
8)git clone https://git.openstack.org/openstack-dev/devstack -b stable/ocata?
9)ls 會(huì)有devstack文件夾,進(jìn)入該文件夾:cd devstack
10)在devstack文件夾中創(chuàng)建local.conf(devstack-controller上):vi local.conf
[[local|localrc]]
MULTI_HOST=true
HOST_IP=10.0.0.23 # management & apinetwork 這就是你之前在網(wǎng)絡(luò)中設(shè)置的靜態(tài)IP
LOGFILE=/opt/stack/logs/stack.sh.log
# Credentials
ADMIN_PASSWORD=admin
MYSQL_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz
?enable_service?placement-api ??
enable_service?placement-client
?# enable neutron-ml2-vlan
disable_service n-net
enable_serviceq-svc,q-agt,q-dhcp,q-l3,q-meta,neutron,q-lbaas,q-fwaas,q-vpn
Q_AGENT=linuxbridge
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=3001:4000
PHYSICAL_NETWORK=default
LOG_COLOR=False
LOGDIR=$DEST/logs
SCREEN_LOGDIR=$LOGDIR/screen
# 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
11)devstack文件夾下運(yùn)行腳本:./stack.sh
耐心 等待幾十分鐘,成功界面:

13)上面是controller上的配置,compute上的配置和controller的一樣,不一樣的是local.conf 文件中的內(nèi)容
[[local|localrc]]
MULTI_HOST=true
HOST_IP=10.0.0.24 # management & apinetwork compute節(jié)點(diǎn)自己的IP
# Credentials
ADMIN_PASSWORD=admin
MYSQL_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz
?enable_service?placement-api ??
?enable_service?placement-client??
# Service information
SERVICE_HOST=10.0.0.23?。?刂乒?jié)點(diǎn)的IP
MYSQL_HOST=$SERVICE_HOST
RABBIT_HOST=$SERVICE_HOST
GLANCE_HOSTPORT=$SERVICE_HOST:9292
Q_HOST=$SERVICE_HOST
KEYSTONE_AUTH_HOST=$SERVICE_HOST
KEYSTONE_SERVICE_HOST=$SERVICE_HOST
CEILOMETER_BACKEND=mongodb
DATABASE_TYPE=mysql
ENABLED_SERVICES=n-cpu,q-agt,neutron
Q_AGENT=linuxbridge
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=3001:4000
PHYSICAL_NETWORK=default
# vnc config
NOVA_VNC_ENABLED=True
NOVNCPROXY_URL="http://$SERVICE_HOST:6080/vnc_auto.html"
VNCSERVER_LISTEN=$HOST_IP
VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN
LOG_COLOR=False
LOGDIR=$DEST/logs
SCREEN_LOGDIR=$LOGDIR/screen
# 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
14)計(jì)算節(jié)點(diǎn) 運(yùn)行./stack.sh,運(yùn)行成功應(yīng)該出來(lái)和控制節(jié)點(diǎn)一樣的界面。
15)如果安裝失敗,運(yùn)行 ./unstack.sh ? ,然后再運(yùn)行 ./stack.sh ? 。
安裝失敗會(huì)提示哪里出了問(wèn)題,可以網(wǎng)上搜索一下問(wèn)題解決方案。
參考教程:
https://blog.csdn.net/ren88320036/article/details/79517387
http://cloudman.cc/
https://mp.weixin.qq.com/s/g-bKZqRFUGXDghIfGJ16_g 視頻教程
https://www.cnblogs.com/CloudMan6/p/5357273.html
以上就是安裝的全部程。