本文安装的Pike版OpenStack,之前试过liberty、newton和mitaka、ocata版本都以失败告终,所以百度了一下版本顺序,秉着最新最优的执念,终于,Pike版本安装成功!
一:软硬件准备
设备:win10电脑
软件:VMware Workstation Pro
镜像:ubuntu-16.04.1-desktop-amd64.iso
二:虚拟机配置
devstack-controller:
内存:4G 硬盘:80G
网卡1:NAT网络 网卡2:NAT网络 网卡3:host-only网络
(VMware中使用桥接网络时虚拟机则不能连接往外,关于后期学习时NAT不知道能不能使用,但是使用NAT能安装成功,因此暂且使用这个配置)
devstack-compute:
内存:2G 硬盘:40G
网卡1:NAT网络 网卡2:host-only网络
三:安装过程
更新系统的下载源与pip源,我使用的下载源是阿里云的,pip源为豆瓣
①更换阿里源
#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
退出应用更新:
#sudo apt-get update
#sudo apt-get upgrade
②更新时区,图形界面可以直接设置在上海,命令行则需要如下命令:
dpkg-reconfigure tzdata
选择Asia -> 再选择Shanghai -> OK
sudo apt-get install ntpdate // 安装时间同步工具
sudo ntpdate cn.pool.ntp.org // 与网络服务器同步时间
date // 查看时间是否已同步
③安装pip
sudo apt-get install python-pip
pip更换为豆瓣源(在其他版本的使用用清华源没有出错,用豆瓣源出错了,pike版对豆瓣源就很友好,可能因为网络吧...)
#sudo mkdir ~/.pip
#sudo vim ~/.pip/pip.conf
插入以下内容:
[global]
index-url = http://pypi.douban.com/simple/
trusted-host = pypi.douban.com
④下载devstack
sudo git clone https://github.com/openstack-dev/devstack -b stable/pike
使用devstack中的文件创建stack用户,默认创建无密码用户
sudo devstack/tools/create-stack-user.sh
将devstack目录放到/opt/stack中并设置权限
sudo mv devstack /opt/stack
sudo chown -R stack:stack /opt/stack/devstack
切换到stack用户,使用sudo进入,之后可自己设置用户密码
sudo su - stack
一样需要给stack用户配置pip源
#sudo mkdir ~/.pip
#sudo vim ~/.pip/pip.conf
插入以下内容:
[global]
index-url = http://pypi.douban.com/simple/
trusted-host = pypi.douban.com
⑤设置local.conf
进入devstack,创建local.conf
以下内容只需要修改Host_IP为自己虚拟机的IP地址,即更换接口为自己虚拟机的网卡
controller
[[local|localrc]]
# 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"
# 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/sice-html5.git
# Credentials
DATABASE_PASSWORD=admin
ADMIN_PASSWORD=admin
SERVICE_PASSWORD=admin
RABBIT_PASSWORD=admin
# Enabling Neutron (network) Service
disable_service n-net
enable_service q-svc
enable_service q-agt
enable_service q-dhcp
enable_service q-l3
enable_service q-meta
enable_service q-metering
enable_service neutron
enable_service placement-api
enable_service placement-client
## Neutron options
HOST_IP=192.168.2.85 #自己controller的ip
FLAT_INTERFACE=ens33 #使用controller上的那一块网卡
FIXED_RANGE=10.4.128.0/20
FIXED_NETWORK_SIZE=4096
FLOATING_RANGE=192.168.2.128/25
MULTI_HOST=1
LOGFILE=/opt/stack/logs/stack.sh.log
controller节点和compute节点除local.conf不同,interfaces设置不同外其余皆一样
如果你只是搭建一个节点可以不用管compute节点的配置
compute
安装Compute时要打开controller,并且保证两台虚拟机之间能ping通,controller虚拟机能和宿主机ping通,否则可能会出现Discovering versions from the identity service failed when creating the password plugin. Attempting to determine version from URL.的错误
[[local|localrc]]
HOST_IP=192.168.150.147 # change this per compute node
FLAT_INTERFACE=ens33
FIXED_RANGE=10.4.128.0/20
FIXED_NETWORK_SIZE=4096
FLOATING_RANGE=192.168.2.128/25
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=192.168.2.85 #controller节点ip
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,placement-api
NOVA_VNC_ENABLED=True
NOVNCPROXY_URL="http://$SERVICE_HOST:6080/vnc_auto.html"
VNCSERVER_LISTEN=$HOST_IP
VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN
保存退出
⑥开始安装
在devsatck下运行./stack.sh
./stack.sh
之后可能或出现很多错误,但是我安装pike版本中只有pip源和timeout的错误,耐心点多重装几次就好了,没词重装前最好都用下./clean.sh 和./unstack.sh
安装其他版本时出现的错误可以参考我的另一篇博文,多百度多看官方文档,祝你好运。
最后出现如下图案则说明安装成功
compute
只有就可以使用浏览器进入192.168.150.146/dashboard进行实验啦