O01七、部署DevStack

 
本节按照如下步骤部署 DevStack 实验环境,包括控制节点和计算节点。详细的部署和配置能够查看老师的视频
 
1、建立虚拟机
 
按照物理资源需求建立 devstack-controller 和 devstack-compute 虚拟机
 
个人实验环境:
 
    devstack-controller    8C / 16G / 160G / NIC 3
    devstack-compute     8C / 16G / 160G / NIC 3
 
 
2、安装操做系统
 
安装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 源-阿里云
 
3、下载代码
 
下载 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
 
 
4、配置 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
 
5、开始部署
 
先在    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
 
 
 
6、验证 OpenStack 
 
访问 http://10.12.31.241  ( DevStack-Controller 的 IP )    admin / admin 
 
 
    
 
查看  管理员- 系统 - 系统信息 中各项内容的状态
 
 
 
 
 
7、启动OpenStack
 
若是重启了系统,OpenStack 不会自动启动,须要从新运行 stack.sh 命令。
 
重跑 stack.sh 的结果是从新初始化,以前的配置不会保留。全部若是节点都是虚拟机,建议不要重启,直接休眠,下次就不用从新初始化了。
 
运行成功后OpenStack 的每一个服务都在一个screen 中以进程的方式运行。使用screnn的几个好处:
 
    一、能够方便的在不一样服务之间切换和查看日志。由于OpenStack的服务不少,每一个服务都有本身的日志文件。查找日志试衣间很是麻烦的事情,screen能够帮咱们提升效率。
 
    二、当咱们修改了某个服务的配置文件须要重启服务时,只需在该服务的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
 
8、删除自动建立的网络
 
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]
相关文章
相关标签/搜索