O017、部署DevStack

 
本节按照以下步骤部署 DevStack 实验环境,包括控制节点和计算节点。详细的部署和配置可以查看老师的视频
 
一、创建虚拟机
 
按照物理资源需求创建 devstack-controller 和 devstack-compute 虚拟机
 
我的实验环境:
 
    devstack-controller    8C / 16G / 160G / NIC 3
    devstack-compute     8C / 16G / 160G / NIC 3
 
 
二、安装操作系统
 
安装Ubuntu 16.04,并配置eth0 IP:
 
    devstack-controller    10.12.31.241/22
    devstack-compute     10.12.31.242/22
 
8C / 16G / 160G / NIC 3
eth0     管理
eth1    租户网络
eth2    外网
vhv.enable = "TRUE"
root user 123456
到办公室路由
安装 SSH、Virtual Machine Host
apt 源-阿里云
pip 源-阿里云
 
三、下载代码
 
下载 DevStack 代码,并切换到 stable/newton 分支
 
apt-get install git -y
git clone https://git.openstack.org/openstack-dev/devstack -b stable/ocata
 
trystack源
 
controller节点
 
root@DevStack-Controller:~/devstack# cat local.conf
[[local|localrc]]
 
MULTI_HOST=true
 
# management & api network
HOST_IP=10.12.31.241
LOGFILE=/opt/stack/logs/stack.sh.log
 
# 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_AGENT=linuxbridge
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=3001:4000
PHYSICAL_NETWORK=default
 
LOG_COLOR=True
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
enable_service placement-api
enable_service placement-client
 
 
compute节点
 
root@DevStack-Compute:~/devstack# cat local.conf
[[local|localrc]]
 
MULTI_HOST=true
# management & api network
HOST_IP=10.12.31.242
 
# Credentials
ADMIN_PASSWORD=admin
MYSQL_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz
 
# Service information
SERVICE_HOST=10.12.31.242
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
 
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=True
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
enable_service placement-api
enable_service placement-client
 
 
四、配置 stack 用户(本步操作两个节点都要做,且操作方法一样)
 
创建 stack 用户
 
root@DevStack-Controller:~/devstack/tools# ./create-stack-user.sh
Creating a group called stack
Creating a user called stack
Giving stack user passwordless sudo privileges
 
为 stack 用户配置 pip 国内源
 
root@DevStack-Controller:~/devstack/tools# cp -a /root/.pip /opt/stack/
root@DevStack-Controller:~/devstack/tools# chown -R stack.stack /opt/stack/.pip/
root@DevStack-Controller:~/devstack/tools# ll /opt/stack/.pip/
total 12
drwxr-xr-x 2 stack stack 4096 May 21 21:28 ./
drwxr-xr-x 3 stack stack 4096 May 21 22:40 ../
-rw-r--r-- 1 stack stack  104 May 21 21:28 pip.conf
 
为了方便起见,将devstack目录放到 /opt/stack 下,也是就是stack用户的家目录,并设置权限
 
root@DevStack-Controller:~# mv devstack /opt/stack/
root@DevStack-Controller:~# chown -R stack:stack /opt/stack/devstack
 
五、开始部署
 
先在    devstack-controller    上执行 
 
root@DevStack-Controller:~# su - stack
stack@DevStack-Controller:~$ ls
devstack
stack@DevStack-Controller:~$ cd devstack/
stack@DevStack-Controller:~/devstack$ ./stack.sh
 
 
然后在    devstack-compute   执行
 
root@DevStack-Compute:~# su - stack
stack@DevStack-Compute:~$ ls
devstack
stack@DevStack-Compute:~$ cd devstack/
stack@DevStack-Compute:~/devstack$ ./stack.sh
 
 
 
六、验证 OpenStack 
 
访问 http://10.12.31.241  ( DevStack-Controller 的 IP )    admin / admin 
 
 
    
 
查看  管理员- 系统 - 系统信息 中各项内容的状态
 
 
 
 
 
七、启动OpenStack
 
如果重启了系统,OpenStack 不会自动启动,需要重新运行 stack.sh 命令。
 
重跑 stack.sh 的结果是重新初始化,之前的配置不会保留。所有如果节点都是虚拟机,建议不要重启,直接休眠,下次就不用重新初始化了。
 
运行成功后OpenStack 的每个服务都在一个screen 中以进程的方式运行。使用screnn的几个好处:
 
    1、可以方便的在不同服务之间切换和查看日志。因为OpenStack的服务很多,每个服务都有自己的日志文件。查找日志试衣间非常麻烦的事情,screen可以帮我们提高效率。
 
    2、当我们修改了某个服务的配置文件需要重启服务时,只需在该服务的screen窗口 Ctrl + C ,然后在命令行中找到上一个命令(Up键)执行就行,这个命令就是启动服务的命令。
 
下面是screen常用命令:
 
    Ctrl + a + n    切换到下一个窗口
    Ctrl + a + p    切换到前一个窗口
    Ctrl + a + 0-9 切换到第 0-9 的窗口
    Ctrl + a + d    暂时断开(detach)当前screen 会话,但不中断screen窗口程序的运行
 
在shell 中执行screen命令
 
    screen -ls    列出当前所有的 session
    screen -r stack    回到 devstack 这个session
 
八、删除自动创建的网络
 
DevStack 在部署时可能会创建几个测试网络,为了得到一个干净的环境需要将其删除。
 
转到  管理员 - 系统 - 路由 删除路由条目
 
 
转到  管理员 - 系统 - 网络 删除网络条目
 
 

 
 
我感觉应该跟Pip版本无关,可能是别的原因。另外,建议用Ubuntu16.04 + ocata版本,这个 成功率高
Ocata版本,需要在local.conf中加入下面两行:
enable_service placement-api 和
enable_service placement-client
 
下面的源如果能找到国内镜像站点,会提速很多
Get:2 http://ubuntu-cloud.archive.canonical.com/ubuntu xenial-updates/ocata/main amd64 qemu-system-arm amd64 1:2.8+dfsg-3ubuntu2.9~cloud5.1 [5159 kB]
 
 
 
 
posted @ 2019-05-22 11:01  三角形  阅读(575)  评论(0编辑  收藏  举报