OpenStack —— DevStack一键自动化安装

一、DevStack介绍

    Devstack目前是支持Ubuntu16.04和CentOS 7,而且Devstack官方建议使用Ubuntu16.04,所以我们使用Ubuntu 16.04进行安装。

    默认无论是Devstack和OpenStack,都是采用Master的代码进行安装,这样经常会出现,今天安装成功,明天失败,代码时刻在变化。所以我们不仅仅要指定OpenStack的版本,还需要指定Devstack的版本,才能提供安装成功的概率。

二、DevStack的安装

1、环境准备

    我使用的操作系统为Ubuntu 16.04的版本,默认的软件包源是国外的,速度相对来说比较慢,所以我们修改文件/etc/apt/sources.list,使用如下命令更改:

sed -i 's/us.archive.ubuntu.com/cn.archive.ubuntu.com/g' /etc/apt/sources.list
sed -i 's/security.ubuntu.com/cn.archive.ubuntu.com/g' /etc/apt/sources.list

   更新一下源。

apt-get update

2、下载devstack

    安装devstack痛苦的其中一个原因,是OpenStack代码,都需要从github下载,这样由于网络的原因,经常导致各种错误,简直让人崩溃,各种错误,目前国内已经提供了完整的OpenStack的github的mirror:http://git.trystack.cn,这样Devstack成功概率会大大提高。

    另外devstack还会下载image,下载的过程也是非常缓慢。trystack也提供大家常用的image下载:http://images.trystack.cn。

    目前官方github上面保留着三个稳定的版本,我们这边安装Ocata版。

apt-get install git
git clone http://git.trystack.cn/openstack-dev/devstack.git -b stable/ocata

3、创建stack用户

    目前Devstack脚本已经不支持直接使用root身份运行,你需要创建stack用户运行。

cd devstack/tools/
./create-stack-user.sh

   修改devstack目录权限,让stack用户可以运行。

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

4、配置pip源

    OpenStack很多组件需要从pip源下载,默认是国外的源,我们需要设置为国内的源,以便可以快速的进行配置,在root和stack的加目录下面都配置一下。

    首先分别在家目录下面都创建.pip的目录,然后在目录下面创建文件pip.conf,内容如下:

mkdir .pip
cat >> .pip/pip.conf <<EOF
[global]
trusted-host =  pypi.douban.com
index-url = http://pypi.douban.com/simple
EOF

5、配置文件

su - stack
cd devstack
cp samples/local.conf .

   对文件local.conf进行简单修改,如下内容:

[[local|localrc]]
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
LOGFILE=$DEST/logs/stack.sh.log
LOGDAYS=2
SWIFT_HASH=66a3d6b56c1f479c8b4e70ab5c2000f5
SWIFT_REPLICAS=1
SWIFT_DATA_DIR=$DEST/data

# 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

6、安装

    中途可能会出现多次错误,大部分都是因为网络的原因,重复运行命令即可。

./stack.sh

三、验证

    经过长时间的等待之后,根据网络状态,大约1个小时的时间,出现下面的界面即可是安装完成。

wKiom1nODQugEd_9AADjRoQLG8o900.jpg

   然后我们进行登录查看。

wKioL1nODUHjUqhZAAA-KN85XG4753.jpg

    可以看到登录成功,服务都运行正常。

wKioL1nODWvREMMpAAG_Ca61RRI061.jpg

附录:

1、All-In-One Single Machine

[[local|localrc]]
FLOATING_RANGE=192.168.1.224/27
FIXED_RANGE=10.11.12.0/24
FIXED_NETWORK_SIZE=256
FLAT_INTERFACE=eth0
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD

# 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
  • Set FLOATING_RANGE to a range not used on the local network, i.e. 192.168.1.224/27. This configures IP addresses ending in 225-254 to be used as floating IPs.

  • Set FIXED_RANGE and FIXED_NETWORK_SIZE to configure the internal address space used by the instances.

  • Set FLAT_INTERFACE to the Ethernet interface that connects the host to your local network. This is the interface that should be configured with the static IP address mentioned above.

  • Set the administrative password. This password is used for the admin and demo accounts set up as OpenStack users.

  • Set the MySQL administrative password. The default here is a random hex string which is inconvenient if you need to look at the database directly for anything.

  • Set the RabbitMQ password.

  • Set the service password. This is used by the OpenStack services (Nova, Glance, etc) to authenticate with Keystone.


2、Multi-Node Lab

Configure Cluster Controller

[[local|localrc]]
HOST_IP=192.168.42.11
FLAT_INTERFACE=eth0
FIXED_RANGE=10.4.128.0/20
FIXED_NETWORK_SIZE=4096
FLOATING_RANGE=192.168.42.128/25
MULTI_HOST=1
LOGFILE=/opt/stack/logs/stack.sh.log
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD

# 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

Configure Compute Nodes

[[local|localrc]]
HOST_IP=192.168.42.12    # change this per compute node
FLAT_INTERFACE=eth0
FIXED_RANGE=10.4.128.0/20
FIXED_NETWORK_SIZE=4096
FLOATING_RANGE=192.168.42.128/25
MULTI_HOST=1
LOGFILE=/opt/stack/logs/stack.sh.log
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
DATABASE_TYPE=mysql
SERVICE_HOST=192.168.42.11
MYSQL_HOST=$SERVICE_HOST
RABBIT_HOST=$SERVICE_HOST
GLANCE_HOSTPORT=$SERVICE_HOST:9292
ENABLED_SERVICES=n-cpu,q-agt,n-api-meta,c-vol,placement-client
NOVA_VNC_ENABLED=True
NOVNCPROXY_URL="http://$SERVICE_HOST:6080/vnc_auto.html"
VNCSERVER_LISTEN=$HOST_IP
VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN

# 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



另外一个模板

devstack-controller

[[local|localrc]]
MULTI_HOST=true 
HOST_IP=172.18.2.100 # management & api network 
LOGFILE=/opt/stack/logs/stack.sh.log
# Credentials 
ADMIN_PASSWORD=secret
MYSQL_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
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-*** 
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

devstack-compute

[[local|localrc]]
MULTI_HOST=true 
HOST_IP=172.18.2.101 # management & api network
# Credentials 
ADMIN_PASSWORD=secret
MYSQL_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz
# Service information
SERVICE_HOST=172.18.2.100
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

                              wKioL1nODYiDRQSxAACmb4CVfN4311.jpg

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值