冰点

Ubuntu16.04+devstack安装OpenStack

2018-06-29  本文已影响150人  NFV不归路了解一下

如果想配置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

以上就是安装的全部程。

上一篇 下一篇

猜你喜欢

热点阅读