一、实验环境

 本实验是在Vmware Workstation下创建的单台Ubuntu服务器版系统中,利用devstack部署的Openstack Pike版。

  宿主机:win10 1803  8G内存  256G SSD

  虚拟软件:Vmware Workstation 12.5.9

  虚拟机系统:Ubuntu Server 16.04.5 LTS

 

   参考博客:

    

    

    https://docs.openstack.org/devstack/latest/guides/multinode-lab.html

 

1、在宿主机中安装好VMware Workstation 12.5.9

 VMware Workstation 12.5.9官网下载链接

 

2、在VMware中创建Ubuntu服务器版系统

(1)在 http://mirror.pnl.gov/releases/xenial/ 中找到并下载Ubuntu Server 16.04.5镜像。 

  

ubuntu下openstack的源 ubuntu openstack部署_git

(2)关于如何在VMware中安装Ubuntu服务器版虚拟机,网上有很多教程,具体可以参考:(因为是单节点部署,再加上本身电脑配置不高,所以我分配了4G内存给虚拟机。)

二、环境搭建

1、为root设置密码并使用root登录

使用创建虚拟机时创建的用户登录Ubuntu后为root用户设置密码,以便于后面使用root用户登录和后续操作。

(1) 输入命令:sudo passwd

(2)系统会提示输入当前用户密码

(3)输入你要为root用户设置的密码

(4)再次输入root用户的密码

(5)root用户密码设置好后,输入命令:su root,然后输入刚刚设置的密码,切换到root用户。

2、网络设置

  因为是单节点配置,不需要各节点间的通信,再加上物理机为笔记本不经常插网线,所以只给虚拟机分配了一个NAT的网络适配器,既可以访问外网,也可以和物理机通信。为虚拟机设置好固定IP,如果是多节点安装的话,这一步很重要。

   ① 回到VMware,点击编辑,启动虚拟网络编辑器,选择vmnet8,编辑以下内容(当然也可以按照自己的默认设置来):

       

ubuntu下openstack的源 ubuntu openstack部署_git_02

 

②  回到ubuntu输入命令:vim /etc/network/interfaces

 

     ③  在打开的配置文件中输入以下内容:

  (该部分内容根据自己的VMware配置的NAT网络将address和gateway进行相应的修改,dns根据自己的网络环境做相应的修改)

auto ens33

iface ens33 inet static

address 10.10.10.10

netmask 255.255.255.0

gateway 10.10.10.2

dns-nameserver 114.114.114.114

 

3、Linux默认不允许SSH远程登录,修改sshd_config文件以允许root远程登录。

(1)若在创建虚拟机时没有选择安装ssh,输入命令:apt install openssh-server,如果已经安装,自动忽略该步骤。

(2)输入命令:vim  /etc/ssh/sshd_config

(3)在打开的配置文件中找到PermitRootLogin,将其对应值改为yes。保存退出。

  

ubuntu下openstack的源 ubuntu openstack部署_git_03

(4)重启服务:service ssh restart

(5)使用ifconfig命令查看虚拟机IP,使用Xshell或putty等ssh客户端远程登录到虚拟机,方便后面的代码复制操作。

 

4、修改apt源为国内的源

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

 

 

③ 保存退出,更新:

apt update

apt upgrade

 

5、安装并配置pip

apt install python-pip

         (2)配置pip源

mkdir  ~/.pip

vim  ~/.pip/pip.conf

                  在打开的文件中输入以下内容:

[global]

index-url = http://pypi.douban.com/simple/

 trusted-host = pypi.douban.com

   
注:看了很多文档和博客教程,很多都是配置的豆瓣的pip源,我之前也试过,在安装P版的过程中每次都会报依赖不匹配的错误,如下图。后来把pip源注销之后就成功了。

 

6、设置时间同步

(1)设置时区:dpkg-reconfigure tzdata,选择Asia --> Shanghai --> ok

注:输入date 查看系统时间,是否正确,如果正确,可以忽略下边操作步骤。

apt install ntpdate

ntpdate cn.pool.ntp.org

date

 

三、安装OpenStack

1、创建stack用户

useradd -s /bin/bash -d /opt/stack -m stack

echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

su – stack

 

                  重复第二步中的5(2),同样为stack用户配置pip源:

mkdir  ~/.pip

vim  ~/.pip/pip.conf

                          在打开的文件中输入以下内容:

[global]

index-url = http://pypi.douban.com/simple/

trusted-host = pypi.douban.com

注:如果出现依赖不匹配的错误,这里的pip源同样也要注释掉

 

2、下载devstack ( stable后面的参数为要下载的版本)

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

3、编辑local.conf文件

(1)进入目录:cd devstack

vim local.conf

           (3)添加以下内容:

                          

[[local|localrc]]

HOST_IP=10.10.10.10
LOGFILE=/opt/stack/logs/stack.sh.log

# Credentials
ADMIN_PASSWORD=admin
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,q-metering,neutron

# Branches
KEYSTONE_BRANCH=stable/pike
NOVA_BRANCH=stable/pike
NEUTRON_BRANCH=stable/pike
SWIFT_BRANCH=stable/pike
GLANCE_BRANCH=stable/pike
CINDER_BRANCH=stable/pike

# 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

# Define images to be automatically downloaded during the DevStack built process.
DOWNLOAD_DEFAULT_IMAGES=False
IMAGE_URLS="http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img"

 有关local.conf相关配置可以参考:http://www.chenshake.com/local-conf-devstack-profile-parameter-description/

 

./stack.sh

大约一个小时左右出现下面信息,表明安装成功:

    

ubuntu下openstack的源 ubuntu openstack部署_ubuntu下openstack的源_04