第 2 章 OpenStack 架构 - 017 - 部署 DevStack
步骤部署 DevStack 实验环境,包括控制节点和计算节点。
创建虚拟机
按照物理资源需求创建 devstack-controller 和 devstak-compute 虚拟机
安装操作系统
安装 Ubuntu 16.04,并配置 eth0 的 IP:
devstack-controller 10.12.31.51
devstack-compute 10.12.31.52
下载代码
下载 devstack 代码,并切换到 stable/newton 分支
apt-get install git -y
git clone https://git.openstack.org/openstack-dev/devstack -b stable/ocata
配置 stack 用户
创建 stack 用户
devstack/tools/create-stack-user.sh
为方便起见,将devstack目录放到/opt/stack下,并设置权限
mv devstack /opt/stack
chown -R stack:stack /opt/stack/devstack
切换到 stack 用户
su – stack
cd devstack
root 用户和 stack 用户都需要配置 pip 源
mkdir ~/.pip
vim ~/.pip/pip.conf
[global]
timeout = 6000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
编写运行配置文件
在 /opt/stack/devstack 目录下,创建 local.conf。
devstack-controller
vim local.conf
[[local|localrc]]
MULTI_HOST=true
# management & api network
HOST_IP=10.12.31.51
LOGFILE=/opt/stack/logs/stack.sh.log
FLAT_INTERFACE=eth0
FIXED_RANGE=10.4.128.0/20
FIXED_NETWORK_SIZE=4096
FLOATING_RANGE=10.12.31.64/26
# Credentials
ADMIN_PASSWORD=admin
MYSQL_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz
# enable neutron-ml2-vlan
disable_service n-net
enable_service q-svc,q-agt,q-dhcp,q-l3,q-meta,neutron,q-lbaas,q-fwaas,q-vpn
enable_service placement-api
enable_service placement-client
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
devstack-compute
vim local.conf
[[local|localrc]]
MULTI_HOST=true
# management & api network
HOST_IP=10.12.31.52
FLAT_INTERFACE=eth0
FIXED_RANGE=10.4.128.0/20
FIXED_NETWORK_SIZE=4096
FLOATING_RANGE=10.12.31.64/26
# Credentials
ADMIN_PASSWORD=admin
MYSQL_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz
# Service information
SERVICE_HOST=10.12.31.51
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
enable_service placement-api
enable_service placement-client
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
开始部署
分别在 devstack-controller 和 devstak-compute 上执行命令
./stack.sh
会输出各项操作的结果。 日志会写到 stack.sh.log 文件。
整个过程需要连接Internet,网速慢可能会花较长时间,成功后最后会打印出相关信息。
devstack-controller 上的输出
devstack-compute 上的输出
验证 OpenStack
下面验证 OpenStack 已经正常运行。浏览器访问 http://10.12.31.51/(devstack-controller 的 IP) admin/admin 登录:
点击 System->System Information,确保各个服务的状态正常
启动 OpenStack
如果重启了系统,OpenStack 不会自动启动,需要重新运行 stack.sh 命令
cd devstack
./stack.sh
重跑 stack.sh 的结果是重新初始化,之前的配置不会保留。所以如果节点都是虚拟机,建议不要重启,直接休眠,下次就不用再跑一遍 ./stack 了。
Devstack 在部署时可能会创建几个测试网络,为了得到一个干净的环境需将其删除。
删除 Router:Admin->System->Routers
删除 Network:Admin->System->Networks
------------------------------------------------引用来自----------------------------------------------------
https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587900&idx=1&sn=7b46cb4798e405cfdc053135cbf8d040&chksm=8d3081a5ba4708b3f9152c359e46cc2abb6d58f64c108aadc44c20138e988d17a6c754559411&scene=21#wechat_redirect