美文网首页冰点
Ubuntu16.04+devstack安装OpenStack

Ubuntu16.04+devstack安装OpenStack

作者: NFV不归路了解一下 | 来源:发表于2018-06-29 13:11 被阅读150次

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

    以上就是安装的全部程。

    相关文章

      网友评论

        本文标题:Ubuntu16.04+devstack安装OpenStack

        本文链接:https://www.haomeiwen.com/subject/zxadottx.html