我們終於可以在 CentOS 7 經由 Yum 安裝 RDO 包,然後安裝 packstack all-in 套件。因為想大家知道 OpenStack 內裡究竟有什麼東西,因此會教大家一些基本指令來檢查例如帳戶、服務和網段等等。

但因為 packstack 預設的 public 網段跟現實環境不一樣,所以需要使用 keystone 指令刪除,然後再用 neutron 指令新指一個適合 public 網段。

Step 1:我們先更新 CentOS 7 系統,然後利用 Yum 安裝 RDO 包,最後就是安裝 packstack 套件。

sudo yum update -y

sudo yum install -y https://rdo.fedorapeople.org/rdo-release.rpm

sudo yum install -y openstack-packstack

Step 2:接著安裝 Single Node 模式。

packstack –allinone

Step 3:筆者的安裝時間大約一小時之多,請耐心等待。

OpenStack RDO Installation

Step 4:安裝完成後需關掉 Network Manager 服務。

OpenStack RDO Installation

sudo systemctl disable NetworkManager

sudo systemctl stop NetworkManager

Step 5:然後修改 ens33 網卡使用 vSwitch,再在 vSwitch 網卡配置網絡地址。

vi /etc/sysconfig/network-scripts/ifcfg-ens33

DEVICE=ens33

TYPE=OVSPort

DEVICETYPE=ovs

OVS_BRIDGE=br-ex

ONBOOT=yes

vi /etc/sysconfig/network-scripts/ifcfg-br-ex

DEVICE=br-ex

DEVICETYPE=ovs

TYPE=OVSBridge

BOOTPROTO=static

IPADDR=192.168.111.251

NETMASK=255.255.255.0

GATEWAY=192.168.111.1

DNS1=8.8.8.8

ONBOOT=yes

OpenStack RDO Installation

Step 6:然後重啟 CentOS 7。

sudo systemctl reboot

Step 7:亦都會自動產生一些 OpenStack 檔案 keystonerc_admin、keystonerc_demo 和 packstack-answer 檔案。先不講 Packstack-answer,而 keystonerc_admin 和 keystonerc_demo 是 OpenStack 環境變數,需使用 source 指令運行,例如運行 keystonerc_admin 可執行 keystone 和 neutron 等等指令查詢,keystonerc_demo 和 keystonerc_admin 內裡亦都有密碼登入 Horizon 網頁介面。

OpenStack RDO Installation

Step 8:我們先使用 source 執行 keystonerc_admin。

OpenStack RDO Installation

Step 9:開始教大家一些 keystone 基本查詢指令,keystone user-list 是檢查現有帳戶狀況。

OpenStack RDO Installation

Step 10:keystone endpoint-list 顯示端點的曝露 URL 情況。

OpenStack RDO Installation

Step 11:keystone service-list 顯示各服務狀態。

OpenStack RDO Installation

Step 12:keystone tenant-list 顯示有多少個分租服務。

OpenStack RDO Installation

Step 13:neutron subnet-list 檢查現在有多少個網段。

OpenStack RDO Installation

Step 14:neutron net-show public 只檢查 public 網段內容。

OpenStack RDO Installation

Step 15:基本指令經已介紹完畢,我們開始修改 public 網段符合我們的環境,我們先到Horizon 網頁介面使用 admin 登入來查看現時正在用什麼網段,而 admin 密碼可使用 cat keystonerc_admin 查看。

OpenStack RDO Installation

OS_PASSWORD 就是 admin 密碼。

Step 16:然後登入 Horizon 網頁介面。

OpenStack RDO Installation

Step 17:登入後在左方按【Project】→【Network】→【Network Topology】可看見 public 網段是 172.24.4.224/28。

OpenStack RDO Installation

小貼士:現時 RDO 有一個Horizon 網頁介面登入 bug,如果大家登入後看見以下畫面。

OpenStack RDO Installation

這個問題可清除瀏覽器的 cache 解決,以下是 Chrome瀏覽器在【設定】按【清除瀏覽資料】示範。

OpenStack RDO Installation

Step 16:開始利用 neutron 修改 public 網段。

source keystonerc_admin (記得使用 admin 環境變數)

neutron router-gateway-clear router1 (因為需要先清除 router1 連接著 public網段的 gateway 才可以刪除)

neutron subnet-delete public_subnet (先刪除 public_subnet)

neutron net-delete public (然後刪除 public 網段)

Step 17:跟著新增回 public網段。

neutron net-create public — –router:external=True (新增一個 external 名為 public )

neutron subnet-create –name public_subnet –enable_dhcp=False –allocation_pool start=192.168.111.140,end=192.168.111.150 –gateway=192.168.111.1 public 192.168.111.0/24 (接著在此 public網段加入適合網段、allocation_pool和gateway等相關網絡資訊)

neutron router-gateway-set router1 public (最後將 public 網後連回 router1)

Step 18:因為 private 網絡預設沒有將 DNS 資料派給內部 instance,所以不能存取 internet,我們可以利用以下 neutron subnet-update 指令更新 DNS 資料。

neutron subnet-update private_subnet –dns-nameservers list=true 8.8.8.8 8.8.4.4

Step 19:我們返回 admin 版面按左方【Project】→【Network】→【Networks】可看見 public_subnet 變成 192.168.111.0/24 網段。

OpenStack RDO Installation

終於完成安裝及修改適合 public 網段,下一篇教大家在 Horizon建立 instance。


 (第四篇) OpenStack 配置複雜到「跌渣」!RDO 懶人包解決一切煩惱 – 安裝及基本指令

 https://www.facebook.com/hkitblog