如果想配置Open stack环境,新手建议用devstack安装,devstack是openstack的安装脚本,安装起来比官方安装文档简单很多,基本服务都包含在内。
1. 安装环境
Ubuntu 16.04 desktop (2台虚机,一台controller,一台compute)
Ubuntu16.04对devstack兼容性比较好,我试过14.04,18.04 版本,都是安装失败。我安装的Ubuntu 的desktop版,有些安装教程用的是Ubuntu server版,server版我没有试过。
devstack
devstack 版本是ocata,这个版本的安装成功率比较高。 pike 和newton版本我都安装失败了。。。
2. 网络环境
我的Ubuntu虚机是在服务器ESXI上建的,2网卡,一个连在vswitch上配置静态IP,网关和DNS server 。另一个网卡配成‘仅本地连接’。两台虚机的静态IP的那个网卡都要连到vswtich上保证两台虚机可以ping通。
如果你的安装环境是VMware workstation或者virtualbox, 你需要配置网络让两台虚机能ping通。
3. 安装过程
如果不特殊说明,命令都是root权限
1)把apt源换成国内的: 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)创建国内镜像源:
mkdir ~/.pip
vi ~/.pip/pip.conf
插入以下内容:
[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)创建stack用户
好多安装教程都是先下载devstack的包,然后运行里面的create-stack-user.sh的脚本创建stack用户,但是这个脚本我在不同版本的Ubuntu,不同版本的devstack中运行都会出现 错误(host_ip not found). 所以stack用户自己命令行进行创建,创建stack用户的时候,退出root用户,以普通用户进行创建,输入以下命令:
sudo groupadd stack
sudo useradd -g stack -s /bin/bash -d /opt/stack -m stack
sudo passwd stack
以root权限更改/etc/sudoers, 给stack用户添加权限,sudo vi /etc/sudoers
插入:stack ALL=(ALL) NOPASSWD:ALL
7)进入stack用户:sudo su - stack
在这个用户下再执行一遍步骤 5)的命令,后面的操作都是在这个用户下进行的。
8)git clone https://git.openstack.org/openstack-dev/devstack -b stable/ocata
9)ls 会有devstack文件夹,进入该文件夹:cd devstack
10)在devstack文件夹中创建local.conf(devstack-controller上):vi local.conf
[[local|localrc]]
MULTI_HOST=true
HOST_IP=10.0.0.23 # management & apinetwork 这就是你之前在网络中设置的静态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文件夹下运行脚本:./stack.sh
耐心 等待几十分钟,成功界面:
13)上面是controller上的配置,compute上的配置和controller的一样,不一样的是local.conf 文件中的内容
[[local|localrc]]
MULTI_HOST=true
HOST_IP=10.0.0.24 # management & apinetwork compute节点自己的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 #控制节点的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)计算节点 运行./stack.sh,运行成功应该出来和控制节点一样的界面。
15)如果安装失败,运行 ./unstack.sh ,然后再运行 ./stack.sh 。
安装失败会提示哪里出了问题,可以网上搜索一下问题解决方案。
参考教程:
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
以上就是安装的全部程。
网友评论