1. 程式人生 > >Ubuntu下用devstack單節點部署Openstack

Ubuntu下用devstack單節點部署Openstack

虛擬機設置 admin ase -c align 根據 all ref 使用

一、實驗環境

  本實驗是在Vmware Workstation下創建的單臺Ubuntu服務器版系統中,利用devstack部署的Openstack Pike版。

  宿主機:win10 1803 8G內存 256G SSD

  虛擬軟件:Vmware Workstation 12.5.9

  虛擬機系統:Ubuntu Server 16.04.5 LTS

   參考博客:

    https://blog.csdn.net/pfztab/article/details/78632393

    https://www.cnblogs.com/Allvirus/p/7783962.html

    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鏡像。

  技術分享圖片

 (2)關於如何在VMware中安裝Ubuntu服務器版虛擬機,網上有很多教程,具體可以參考:https://www.cnblogs.com/huozf/p/9780747.html(因為是單節點部署,再加上本身電腦配置不高,所以我分配了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輸入命令: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。保存退出。

  技術分享圖片

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

(1)輸入命令: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 查看系統時間,是否正確,如果正確,可以忽略下邊操作步驟。

(2)apt install ntpdate // 安裝時間同步工具

(3)ntpdate cn.pool.ntp.org // 與網絡服務器同步時間

(4)date // 查看時間是否已同步

三、安裝OpenStack

1、創建stack用戶

創建: useradd -s /bin/bash -d /opt/stack -m stack

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

切換到stack用戶: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

(2)輸入命令: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/

4、執行命令:./stack.sh

    大約一個小時左右出現下面信息,表明安裝成功:

    技術分享圖片

Ubuntu下用devstack單節點部署Openstack