Openstack Newton 極速部署、快速入門

主機名稱配置

OpenStack 需要一個固定的主機名稱,這裡採用的是 openstack.example.com。
hostnamectl set-hostname openstack.example.com     (ENTER)
並為了簡單,將主機名稱設置為靜態解析網域名稱。
vi /etc/hosts     (ENTER)
192.168.1.183    openstack.example.com
關閉 SELinux 和 NetworkManager 服務。
setenforce 0     (ENTER)
sed -i ‘s/enforcing/permissive/g’ /etc/selinux/config         (ENTER)
除此之外,還需要將 NetworkManager 這個搗蛋鬼徹底關閉。
systemctl disable NetworkManager     (ENTER)
systemctl stop NetworkManager     (ENTER)

快速部署套件

雲作業系統所管理的對象主要是虛擬機器,且為 Linux 中最流行的虛擬化技術 KVM,所以首先要安裝 KVM。
yum install qemu-kvm libvirt virt-install -y    (ENTER)
成功安裝 KVM 後即可安心地開始安裝 Packstack,通過 Packstack 將 OpenStack 輕鬆快速地安裝到伺服器中。
yum install centos-release-openstack-newton -y     (ENTER)
yum update -y     (ENTER)
yum install openstack-packstack -y    (ENTER)
packstack –allinone     (ENTER)
看到 Installation completed successfully 就可以長出一口氣,OpenStack 已經成功部署,可以使用如下命令檢測 OpenStack 的執行狀態。
lsof -i:5000     (ENTER)
lsof 命令確認 Keystone 身份認證組件的公共端口可用,說明 OpenStack 啟動成功,牢記 OpenStack 的各個組件的預設端口十分有用。此外,還可以通過 Openstack 命令行方式來檢測 OpenStack 的安裝,而且在作業環境中經常要使用命令行來管理和操作 OpenStack,雖然 OpenStack 提供了方便的 Web 界面。想深入學習的朋友最好掌握 OpenStack 命令行工具,

搞清其難點

難點一就是 OpenStack 命令變化極快,常常是前一兩個版本可以使用的命令,在 Newton 中已經不存在無法執行了,所以先要有不斷學習和持續更新所學內容的準備。第二點就是令很多 OpenStack 初學者困惑,也令有 Web 界面操作經驗的朋友感到頭痛問題,明明別人可以輕鬆執行的 OpenStack 命令,為什麼自己按圖索驥就得到一堆報錯,自己去查解決方法,回答千奇百怪,更無頭緒,所以要用命令行使用 OpenStack 首先要解決這個難題,上述問題所在就是的 OpenStack 環境變數的設置,使用如下命令解決環境變數設置的問題。
vi adminrc.sh     (ENTER)
export OS_PROJECT_DOMAIN_ID=default
export OS_USER_DOMAIN_ID=default
export OS_PROJECT_NAME=admin
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=c1023e2322e64770
export OS_AUTH_URL=http://192.168.1.183:35357/v3
export OS_IDENTITY_API_VERSION=3
其中 OS_PROJECT_NAME 可根據實際的項目,租客,用戶名稱修改。OS_PASSWORD 是密碼,不正確可能會報上 HTTP 404 錯誤。OS_AUTH_URL 可根據自己的 IP 位址修改 。最後執行如下命令讓 OpenStack 環境設置立即生效。
source adminrc.sh     (ENTER)
執行任何 OpenStack 命令,都必須首先執行上述環境變數腳本,需要自行修改的部分在注釋中已經給出提示,否則執行每條 OpenStack 命令都得加上一長串參數,那不是一般的麻煩。成功執行環境設置腳本後就可以輕鬆執行 OpenStack 的命令行了,使用如下命令查看一下 OpenStack 的組件,類型,狀態和 URL 等詳細資訊。
openstack endpoint list     (ENTER)

安裝過程中的問題

部署 OpenStack 並不一定全是一帆風順,安裝過程中常見的報錯包括環境變數設置錯誤 ,即 ERROR : Failed to load pugin from file prescript_000.py。這個錯誤通常是 Linux 環境變數設置的問題,根據錯誤日誌重新設置如下即可解決。
LC_CTYPE=en_US.UTF-8
LC_ALL=en_US.UTF-8
當然,這個錯誤極有可能是因為 SSH 客戶端將錯誤的語言設置應用到了 SSH 會話造成的,實際環境中可能是其他的環境變數設置,修改即可解決。第 2 是伺服器硬體配置問題,如192.168.1.183_controller.pp:  [ERROR]、Applying Puppet manifests [ERROR] 等。Error: Cannot allocate memory 則是無法分配記憶體,因為記憶體用光了 。採用 4GB 及以上記憶體即可解決,尤其是在虛擬機器中安裝更要注意。

自動部署

Packstack 一個非常便捷的功能就是自動的部署,和 RHEL/CentOS 作業系統自動安裝類似,需要提前配置好一個自動應答檔案,並將安裝過程中所需要的應答內容全部提前填好,如安裝什麼 OpenStack 組件,指定 admin 的密碼等,執行 Packstack 時只需通過 –answer-file=/path/answer_file 參數指定自動應答檔案的位置和名稱即可自動部署,可以通過如下命令來生成 OpenStack 自動應答檔案。
packstack –gen-answer-file=openstack_answer.conf     (ENTER)
需要提醒大家的是,如果已經成功安裝了 OpenStack,OpenStack 安裝程式會做一個和 RHEL 類似的動作,會自動根據當前配置生成一個自動應答檔案到用戶的目錄下,預設的名稱以 packstack-answers 開始的文本檔案,直接使用該自動應答檔案即可。無論哪種方式生成的自動應答檔案,都可以使用文本編輯器,如 vi 或 nano 來編輯,根據自己的實際需求來客製化自動應答檔案,關於自動應答檔案的參數,由於數量太多,所以不便在此一一列出,如果需要可以參考如下在線文件。
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/2/html/Getting_Started_Guide/ch06s03s02.html

此處詳細地描述了 Packstack 的常用自動應答檔案參數 Configuration Keys,極具實用價值。成功登入後便可以開始探索和使用 OpenStack 了,由於是採用客製化好的套件,所以安裝極為簡單和便捷。而在生產環境,情況就大不相同,一般最少採用兩個節點,一個是運算節點(Compute node),負責執行各種虛擬機器,另外一個是控制節點 (Controller node),用於監控,管理和控制 OpenStack 運算節點及虛擬機器的相關資源(圖7)。

圖7:OpenStack 基本架構。

再複雜一點的是一個控制節點,多個運算節點。至於更大的規模的雲端運算架構,可以將網路組件,儲存組件獨立出來,成為單獨的網路和儲存節點,不同節點的軟硬體要根據實際需求進行相應的設計和優化,如運算節點主要是負責執行大量的虛擬機器實例,所以記憶體要大,CPU 和 I/O 要快,這樣才能滿足高負載時的需求。如果將重要的組件獨立出來還滿足不了要求,就需要將每個節點群集,由多台伺服器組合起來充當一個節點,相應的,作業環境通常需要手動安裝和配置 OpenStack 的各個組件到相關伺服器,比較繁瑣和麻煩,但也要比 Packstack 靈活了許多,無論是擴展還是使用。比較好的策略,是通過安裝腳本和自動化運維工具來部署 OpenStack 組件,更複雜的架構如圖 8 所示。

圖8:更為複雜的 OpenStack 架構。

建立實例

Horizon 可能是用戶最先可以看到 OpenStack 組件了,同時對 OpenStack 的多數操作都可以通過 Horizon 來實現,另外一種操作方式是通過 OpenStack 相應的命令行來實現,為了便於讀者熟悉 OpenStack,所以先採用 Web 圖形界面的方式來操作和管理 OpenStack,到熟悉後再輔以 OpenStack 命令行來進行部分操作。Horizon 其實就是 OpenStack 的儀表盤 Dashboard,admin 用戶和租客成員用戶的 Dashboard 界面略有不同,主要區別就在 admin 具有對 OpenStack 的管理功能,而其他租客則沒有。下面首先通過 admin 帳號登入 OpenStack,建立第一個 OpenStack 實例 (Instance),用一用 OpenStack Horizon,試一試 Nova,Glance 和 Neutron 這些核心組件。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。