OpenStack安裝困難?那是你沒用過Kolla!

OpenStack 由於架構複雜,配置較多,一貫以安裝部署過程困難聞名。雖然 OpenStack 社區先後涌現出了不少的自動化部署工具,可是對於普通用戶,特別是新人來講,上手仍然有難度。docker

使用本文介紹的基於 Kolla-Ansible 構建的操做系統鏡像,用戶只需執行極少命令便可完成環境的部署。安全

安裝 OpenStack 可能有多麻煩

略,懂得天然懂bash

這裏給你們提供的是 Stein 版本,能夠體驗更多的新特性。微信

注意,本鏡像徹底基於開源版本構建,僅供學習參考。

安裝 OpenStack 能夠有多簡單

下面給你們介紹的是基於 Kolla-Ansible 的容器化部署方式。網絡

本安裝方式具備的優勢:架構

  • 從零啓動
  • 離線安裝
  • 極少命令
  • 組件可選
  • 裝完即用
  • 輕鬆升級
關於 Kolla 的一些高級特性,如多節點並行安裝,高可用部署,在線升級擴容等,因條件所限,本次沒法展現。

準備一臺機器

大部分人可能沒有空閒的機器專門來安裝 Linux 系統,這裏咱們使用虛擬機也能夠完成安裝。ide

選擇一個適合你的系統的虛擬機管理軟件便可:工具

  • VirtualBox (推薦)
  • VMWare
  • Hyper-V
  • 其它

下載 .iso 鏡像文件

微信搜索並關注公衆號 DavyCloud,或者掃描下面圖中的二維碼,獲取下載連接post

建立虛機

先配置兩個網絡:性能

  • 兩個 host-only 的網絡,
  • 其中一個網絡的地址段設置爲 10.10.10.1/24

VirtualBox_network.png

新建一個虛擬機,知足如下條件:

  • 內存 8GB
  • 啓動盤選擇 davycloud-openstack-stein.iso
  • 磁盤空間 >= 40GB
  • 兩個網卡分別配置兩個 host-only 的網絡,
  • 第一塊網卡的地址段對應到 10.10.10.1/24 那一個

VirtualBox_VM_Info.png

修改啓動選項

進入引導菜單時,有兩個選項:

  • 安裝 Deploy 節點
  • 安裝 Worker 節點 (默認)

使用方向鍵移動光標,選擇第 1 個,按下回車鍵開始安裝系統。

vm_boot_menu.png

爲何要把默認選項放在第 2 個?

由於部署節點只須要安裝一個便可,而工做節點可能會有不少個。

系統進入自動安裝流程,整個過程無需任何交互。系統安裝完畢後會彈出光盤並自動重啓。

第一次啓動過程會比較耗時,請耐心等待。

配置修改

若是虛機的網絡地址段按要求配置,對 OpenStack 的模塊也沒有什麼特別要求,這裏能夠 不作任何改動,直接跳到下一步驟便可。

爲了避免讓本文變得冗長,這裏也不具體介紹修改配置的方法,僅簡單說明相關狀況。

All-In-One 安裝場景默認安裝 OpenStack 核心模塊和公共組件,包括:

  • MySQL
  • RabbitMQ
  • Memcached
  • Keystone
  • Glance
  • Neutron
  • Nova
  • Heat

注意到核心模塊裏包含了初級用戶日常比較少用的 Heat 服務,而比較經常使用的卷存儲服務 Cinder 卻沒有做爲核心模塊包含在內。若是須要安裝 Cinder,須要爲其指定一個 backend,不一樣的存儲方式可能還有其它額外的配置條件,這裏先保持默認不安裝。

同時注意,即便是 All-In-One 場景,默認也是啓用了 HAProxy 和浮動 IP,也就是須要安裝:

  • HAProxy
  • Keepalived

啓用 HAProxy 不須要什麼額外操做,惟一須要的就是多佔用一個 IP 地址。啓用浮動 IP 可使得後續控制節點的橫向擴展更簡單。所以,除非肯定就是一直做爲單節點環境使用,不然推薦保留默認配置。

值得注意的是,在某些雲環境下(好比 OpenStack),這個浮動地址可能會面臨安全組的問題,須要一些額外的配置。後面有機會再詳細說明。

命令三連:prechecks、deploy、post-deploy

使用用戶名 kolla,密碼 kollapass 登陸系統,並切換到 root 用戶:

$ sudo -s
# cd /root

下面的全部操做都使用 root 用戶執行,全程只須要執行三個命令:

下面每一個命令都是執行相應的 ansible playbook,因此屏幕會有大量打印。

安裝前的環境檢測,檢查是否必要條件都已經知足

# kolla-ansible prechecks

開始安裝,視機器性能和選擇安裝模塊數量,20分鐘到40分鐘不等,耐心等待便可

# kolla-ansible deploy

安裝後的一點點收尾工做

# kolla-ansible post-deploy

上面的命令執行完成後,會在 /etc/kolla 目錄下生成 admin-openrc.sh 文件,其中包含了登陸所須要的用戶名和密碼信息。

使用 openstack 命令

之前的 OpenStack 版本每一個模塊都提供本身的客戶端命令,例如 novaglance等,如今基本都統一使用 openstack 命令。之前的命令有的還能用,好比 nova,有的已經不能用了,好比 keystone

要使用 openstack 命令,必須先要安裝各模塊的客戶端包。而咱們的宿主機系統裏面只安裝了 DockerAnsible。Kolla 構建的 docker 鏡像中,已經在 openstack-base 這個基礎鏡像中安裝了全部的客戶端包,這意味着:

  1. 咱們徹底沒有必要在宿主機單獨安裝客戶端
  2. 進入任意一個 OpenStack 服務的容器裏,均可以使用客戶端

可是,每次手動敲命令進入容器裏畢竟不夠方便,因此我在鏡像中內置了一個 bash 腳本,取名就叫 openstack,其中的內容是啓動一個容器,使用方法和本來 openstack 命令一致:

# source /etc/kolla/admin-openrc.sh    <--仍然須要先導入環境變量
# openstack                 <-- 直接敲命令
(openstack)

登陸 horizon

由於隨機生成的 admin 用戶密碼很長,VirtualBox 的控制檯不支持複製,因此這時候你最好先找個 SSH 客戶端登入虛擬機中把密碼拷貝出來

horizon_login.png

開始體驗

安裝過程還有疑問的能夠在 Bilibili 觀看視頻操做。

若是以爲文章不錯,別忘了點贊和關注公衆號,謝謝!

PS. 由於我的機器性能受限,後面我會把戰場搬到 阿里雲,不妨你也搞一臺
相關文章
相關標籤/搜索