• Devstack 安装OpenStack Pike版本(单机环境)


    问题背景

    最近在研究OpenStack的时候,需要对其源代码进行调试,公司服务器上部署的OpenStack环境又不能随意的进行折腾,为了研究的持续性和方便性,就决定再自己的虚拟机上面使用Devstack方式部署一个OpenStack环境起来,搜索各种博客结合着官网的指导,花了2天时间终于把这个事情搞定了,再次分享出这个过程。

    环境准备

    宿主机:windows 10
    虚拟机及其软件见下图:

    至于这两个软件的安装和配置,如有不懂的可以自行google或者百度。

    OpenStack安装

    1、更换apt源为阿里源

    vim /etc/apt/sources.list(如果没有权限,请使用命令:sudo vim /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-backports main restricted universe multiverse 
    deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse 
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse 
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse 
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse 
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse 
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
    

    2、保存并退出,执行下面的命令:

    apt-get update
    apt-get upgrade
    

    3、设定时间同步
    设定时区:dpkg-reconfigure tzdata
    选择Asia -> 再选择Shanghai -> OK

    同步时间命令:

    - sudo apt-get install ntpdate // 安装时间同步工具
    - sudo ntpdate cn.pool.ntp.org // 与网络服务器同步时间
    - date // 查看时间是否已经同步
    

    4、安装pip(此步骤可以省略,因为ubuntu自带的python已经安装了pip的,但是由于系统自带的pip版本可能较低,所以,为了保险起见还是安装一下的好)

    apt-get install python-pip(权限不够就执行:sudo apt-get install python-pip)
    

    5、pip更换为豆瓣源

    mkdir .pip
    vim .pip/pip.conf
    

    将下面内容写入:

    [global]
    index-url = http://pypi.douban.com/simple/
    trusted-host = pypi.douban.com
    

    6、下载devstack(这里安装的是pike版本)

    git clone https://github.con/openstack-dev/devstack -b stable/pike
    

    7、创建stack用户

    devstack/tools/create-stack-user.sh
    

    8、将devstack目录放到/opt/stack下,并设置权限

    mv devstack /opt/stack
    chown -R stack:stack /opt/stack/devstack
    

    9、切换到stack用户,切换用户后,所有的操作都是在stack用户下,直到部署成功都不需要切换用户

    su - stack
    

    10、给stack用户配置一样的pip豆瓣源(安装第三方包要快些)

    mkdir .pip
    vim .pip/pip.conf
    

    将下面的内容写入:

    [global]
    index-url = http://pypi.douban.com/simple/
    trusted-host = pypi.douban.com
    

    事实证明:这里也会存在问题,当devstack的requirements文件依赖的远程第三方包的版本,在豆瓣源或者阿里源中找不到匹配版本时,安装是会出错的。当出现这种情况的时候,可以注释掉这个源,如下图所示:

    11、切换到devstack目录下

    cd devstack
    

    重要部分

    创建local.conf配置文件

    vim local.conf
    

    将下面的内容写入:

      1 [[local|localrc]]
      2 # Define images to be automatically downloaded during the DevStack built process.
      3 DOWNLOAD_DEFAULT_IMAGES=False
      4 IMAGE_URLS="http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img"
      5 
      6 # use TryStack git mirror
      7 GIT_BASE=http://git.trystack.cn
      8 NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
      9 SPICE_REPO=http://git.trystack.cn/git/spice/sice-html5.git
     10 
     11 
     12 # Credentials
     13 DATABASE_PASSWORD=admin
     14 ADMIN_PASSWORD=admin
     15 SERVICE_PASSWORD=admin
     16 SERVICE_TOKEN=admin
     17 RABBIT_PASSWORD=admin
     18 #FLAT_INTERFACE=enp0s3
     19 
     20 HOST_IP=172.18.0.184
    

    HOST_IP=虚拟机IP

    12、切换到files目录下,执行下面命令

    cd files/
    
    wget -c https://github.com/coreos/etcd/releases/download/v3.1.10/etcd-v3.1.10-linux-amd64.tar.gz
    wget -c https://github.com/coreos/etcd/releases/download/v3.1.7/etcd-v3.1.7-linux-amd64.tar.gz
    

    一次下载不成功请多次执行上面的命令,直到成功为止

    13、切回devstack目录下

    cd ..
    

    14、运行 ./stack.sh

    按照上面的步骤,走到这里,一般情况下,只需要等待命令执行结束,出现下面的图示,就说明devstack的openstack安装成了

    如果遇到其他报错,主要是检查local.conf,然后清理上次错误配置./unstack.sh和clean.sh,然后再执行./stack.sh配置,等待完成。如果遇到超时(timeout)错误,直接再次执行./stack.sh

    至此,devstack部署openstack pike版本就圆满结束了,如又遇到问题的小伙伴可以留言,我会第一时间回复,期待大家一起探讨。

    参考文章

  • 相关阅读:
    第一阶段-坑爹猴
    终于做出来了
    一天就制作成了这些
    累成狗做出来的
    一周的学习,组合起来的成就
    刚刚出炉的搜狗浏览器最新版本
    自己动手设计了一下下百度首页
    数论:卢卡斯定理(求组合数)
    数据结构:ST表模板(可维护区间RMQ)
    快读和快写(可以使用__int128)
  • 原文地址:https://www.cnblogs.com/love9527/p/8298959.html
Copyright © 2020-2023  润新知