利用devstack安装openstack (2016.7.27)

本文详细介绍了如何在Ubuntu 14.04上通过DevStack安装OpenStack,并配置相关服务的过程。从更换软件源开始,逐步指导安装Git、下载DevStack、配置local.conf文件、创建stack用户等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

利用devstack安装openstack (2016.7.27)


网上有很多类似的文章,但是openstack不喜欢别人追随他的脚步,所以自己记录一下,怕自己忘了。

主机:Ubuntu 14.04 64bit
内网IP:10.251.0.171
外网IP:121.201.52.122
利用ssh登陆到主机


1.更换源

国内访问国外的站点真的是太慢了,必须更换,相信我
cp /etc/apt/sources.list /etc/apt/sources.list_backup #备份
vim /etc/apt/sources.list
阿里源:

deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

最后执行

    apt-get update
    apt-get upgrade

2.安装git

    apt-get install git

3.下载devstack

trystack.cn 是一个神奇的网站,原因跟上面是一样的了,直接访问国外站点太慢了 ,后面还会用到的
git clone http://git.trystack.cn/openstack-dev/devstack.git


4.在devstack中创建local.conf

在/devstack/samples下面就有local.conf文件,拷贝过来就可以,我觉得可以先加个IP先跑一下,看看能不能过,然后再配置其它的服务

    # Sample ``local.conf`` for user-configurable variables in ``stack.sh``
    # NOTE: Copy this file to the root DevStack directory for it to work properly.

    # ``local.conf`` is a user-maintained settings file that is sourced from ``stackrc``.
    # This gives it the ability to override any variables set in ``stackrc``.
    # Also, most of the settings in ``stack.sh`` are written to only be set if no
    # value has already been set; this lets ``local.conf`` effectively override the
    # default values.

    # This is a collection of some of the settings we have found to be useful
    # in our DevStack development environments. Additional settings are described
    # in http://devstack.org/local.conf.html
    # These should be considered as samples and are unsupported DevStack code.

    # The ``localrc`` section replaces the old ``localrc`` configuration file.
    # Note that if ``localrc`` is present it will be used in favor of this section.
    [[local|localrc]]

    # Minimal Contents
    # ----------------

    # While ``stack.sh`` is happy to run without ``localrc``, devlife is better when
    # there are a few minimal variables set:

    # If the ``*_PASSWORD`` variables are not set here you will be prompted to enter
    # values for them by ``stack.sh``and they will be added to ``local.conf``.
    ADMIN_PASSWORD=stack
    DATABASE_PASSWORD=stack
    RABBIT_PASSWORD=stack
    SERVICE_PASSWORD=stack

    # ``HOST_IP`` and ``HOST_IPV6`` should be set manually for best results if
    # the NIC configuration of the host is unusual, i.e. ``eth1`` has the default
    # route but ``eth0`` is the public interface.  They are auto-detected in
    # ``stack.sh`` but often is indeterminate on later runs due to the IP moving
    # from an Ethernet interface to a bridge on the host. Setting it here also
    # makes it available for ``openrc`` to include when setting ``OS_AUTH_URL``.
    # Neither is set by default.
    #HOST_IP=w.x.y.z
    #HOST_IPV6=2001:db8::7
    HOST_IP=10.251.0.171

    # Logging
    # -------

    # By default ``stack.sh`` output only goes to the terminal where it runs.  It can
    # be configured to additionally log to a file by setting ``LOGFILE`` to the full
    # path of the destination log file.  A timestamp will be appended to the given name.
    LOGFILE=$DEST/logs/stack.sh.log

    # Old log files are automatically removed after 7 days to keep things neat.  Change
    # the number of days by setting ``LOGDAYS``.
    LOGDAYS=2

    # Nova logs will be colorized if ``SYSLOG`` is not set; turn this off by setting
    # ``LOG_COLOR`` false.
    #LOG_COLOR=False


    # Using milestone-proposed branches
    # ---------------------------------

    # Uncomment these to grab the milestone-proposed branches from the
    # repos:
    #CINDER_BRANCH=milestone-proposed
    #GLANCE_BRANCH=milestone-proposed
    #HORIZON_BRANCH=milestone-proposed
    #KEYSTONE_BRANCH=milestone-proposed
    #KEYSTONECLIENT_BRANCH=milestone-proposed
    #NOVA_BRANCH=milestone-proposed
    #NOVACLIENT_BRANCH=milestone-proposed
    #NEUTRON_BRANCH=milestone-proposed
    #SWIFT_BRANCH=milestone-proposed

    # Using git versions of clients
    # -----------------------------
    # By default clients are installed from pip.  See LIBS_FROM_GIT in
    # stackrc for details on getting clients from specific branches or
    # revisions.  e.g.
    # LIBS_FROM_GIT="python-ironicclient"
    # IRONICCLIENT_BRANCH=refs/changes/44/2.../1

    # Swift
    # -----

    # Swift is now used as the back-end for the S3-like object store. Setting the
    # hash value is required and you will be prompted for it if Swift is enabled
    # so just set it to something already:
                    SWIFT_HASH=66a3d6b56c1f479c8b4e70ab5c2000f5

    # For development purposes the default of 3 replicas is usually not required.
    # Set this to 1 to save some resources:
    SWIFT_REPLICAS=1

    # The data for Swift is stored by default in (``$DEST/data/swift``),
    # or (``$DATA_DIR/swift``) if ``DATA_DIR`` has been set, and can be
    # moved by setting ``SWIFT_DATA_DIR``. The directory will be created
    # if it does not exist.
    SWIFT_DATA_DIR=$DEST/data

    disable_service n-net
    enable_service q-svc
    enable_service q-agt
    enable_service q-dhcp
    enable_service q-l3
    enable_service q-meta
    enable_service neutron
    enable_service tempest    

5.创建stack用户

现在的安装必须用stack用户
cd /home/devstack/tools/
./create-stack-user.sh


6 .修改权限

    chown -R stack:stack /home/devstack

7.修改sudoers

    vim /etc/sudoers

在中添加

            root    ALL=(ALL:ALL) ALL
            stack   ALL=(ALL:ALL) ALL#添加

8指定国内的pip源

国内用户访问pypi.python.org很容易超时,你需要指定一个国内的pip源。

我是指定的豆瓣的pypi源:

创建一个/etc/pip.conf文件,包括如下内容:

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

9.手动下载openstack组件源码

cd /opt/stack
git clone http://git.trystack.cn/openstack/nova.git
git clone http://git.trystack.cn/openstack/glance.git
git clone http://git.trystack.cn/openstack/cinder.git
git clone http://git.trystack.cn/openstack/horizon.git
git clone http://git.trystack.cn/openstack/keystone.git
git clone http://git.trystack.cn/openstack/neutron.git
git clone http://git.trystack.cn/openstack/swift.git
git clone http://git.trystack.cn/openstack/heat.git
git clone http://git.trystack.cn/openstack/ceilometer.git
git clone http://git.trystack.cn/openstack/tempest.git
git clone http://git.trystack.cn/kanaka/noVNC.git


10.执行 ./stack.sh

这里写图片描述

我是在云主机中进行的,有条件的可以这么安装,也可以使用虚拟机,不建议在本地安装,因为一旦关机再开机时服务不会重启,需要重新执行./stack.sh(在其之前应该执行./unstack.sh),并且在云主机中可以保存镜像很方便


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值