OpenStack介紹
openstack詳細介紹及常用命令請查看此文
通過Packstack(RDO)部署OpenStack,官方文檔點擊此處查看
安裝環境
-
工具:VMware Workstation 16 Pro
-
操作系統:CentOS 8.3
-
虛擬機配置:內存 8G、處理器 6C、磁盤 60G、開啟虛擬化
基礎配置
-
配置環境
編輯
vim /etc/environment文件,添加以下內容LANG=en_US.utf-8 LC_ALL=en_US.utf-8
安裝en_US.utf-8語言包
dnf install glibc-langpack-en -y -
設置主機名並配置
/etc/hosts文件修改主機名
hostnamectl set-hostname duanyd exec bash使用echo命令,在/etc/hosts文件中添加本地解析,或者通過vim命令添加
echo -e "192.166.66.16\tduanyd" >> /etc/hosts
-
關閉防火牆並禁止開機自啟
systemctl disable firewalld && systemctl stop firewalld -
更換網絡服務
在安裝部署OpenStack時,OpenStack的網絡服務會與NetworkManager服務產生沖突,二者無法一起正常工作,需要使用Network
# 安裝Network服務 dnf install network-scripts -y # 停用NetworkManager並禁止開機自啟 systemctl stop NetworkManager && systemctl disable NetworkManager # 啟用 Network並設置開機自啟 systemctl start network && systemctl enable network -
設置靜態IP(可選)
編輯網絡配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33修改修改並添加以下內容
# 設為靜態 BOOTPROTO=static # 設為開機自動連接 ONBOOT=yes # 添加IP、子網掩碼及網關 IPADDR=192.166.66.16 NETMASK=255.255.255.0 GATEWAY=192.166.66.2重啟Network網絡服務
# 重啟網絡服務 systemctl restart network # 測試是否可訪問外網 ping -c 5 www.baidu.com若更換靜態IP與原IP不一致,或者禁用NetworkManager並啟用Network后,直接重啟網卡,IP會變化,遠程連接工具會斷開,需要查看IP后重新連接,IP變更也要同步修改本地解析中的IP地址
系統配置
-
將yum源換成華為源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-8-reg.repo dnf clean all && dnf makecache
-
將PyPI源換成華為源
# 新建.pip目錄 mkdir .pip # 在.pip目錄下創建pip.conf文件 vim .pip/pip.conf # 將以下內容填入pip.conf文件中 [global] index-url = https://repo.huaweicloud.com/repository/pypi/simple trusted-host = repo.huaweicloud.com
開始安裝
-
安裝前后可以先查看一下有木有安裝pip和git
dnf install epel-release -y dnf install python3-pip git -y /usr/bin/python3.6 -m pip install --upgrade pip # 升級pip # 查看pip(V是大寫) pip -V或pip3 -V # 查看git git --version -
添加stack用戶
# 新增stack用戶 sudo useradd -s /bin/bash -d /opt/stack -m stack # 授予stack用戶root權限 echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack chmod -R 777 /opt/ # 切換到stack用戶 sudo su - stack
-
下載devstack
# 使用git下載devstack git clone https://opendev.org/openstack/devstack # 下載完成后切換到devstack目錄下 cd devstack
-
添加local.conf文件
# 在devstack根目錄下添加local.conf文件 vim local.conf # 將以下內容添加到local.conf文件中 [[local|localrc]] ADMIN_PASSWORD=duanyd DATABASE_PASSWORD=$ADMIN_PASSWORD RABBIT_PASSWORD=$ADMIN_PASSWORD SERVICE_PASSWORD=$ADMIN_PASSWORD -
開始安裝
# 在devstack目錄下執行stack.sh腳本 ./stack.sh安裝時間較長,請耐心等待,下圖是安裝完成頁面,相應信息已給出
-
配置環境變量腳本
# 創建admin-openrc.sh文件 vim admin-openrc.sh # 添加以下信息,請根據實際情況修改密碼及IP export OS_USERNAME=admin export OS_PASSWORD=duanyd export OS_PROJECT_NAME=admin export OS_USER_DOMAIN_NAME=Default export OS_PROJECT_DOMAIN_NAME=Default export OS_AUTH_URL=http://192.166.66.16/identity export OS_IDENTITY_API_VERSION=3
或者直接使用devstack目錄下的openrc文件,
source openrc或. openrc
驗證
-
查看各服務狀態
sudo systemctl status "devstack@*"
-
加載環境變量后,隨便輸入一些openstack命令
# 加載環境變量腳本 source admin-openrc.sh # 查看服務列表 nova service-list ……
-
創建實例
# 查看可用的網絡 openstack network list # 查看可用安全組 openstack security group list # 創建實例 openstack server create --flavor m1.nano --image cirros-0.5.1-x86_64-disk --nic net-id=網絡名稱或ID --security-group 安全組名稱或ID 實例名稱
通過驗證可以看到實例成功運行,各服務狀態正常
-
通過瀏覽器訪問IP地址查看是否能訪問並登錄成功
http://192.166.66.16/dashboard http://192.166.66.16 #或者直接輸入IP
- 最后將httpd設為開機自啟,否則重啟服務器后openstack各服務會出現報錯情況
systemctl restart httpd && systemctl ebable httpd
安裝方式隨簡單,但是在祖國的庇護下,即使更換安裝源很大概率也會失敗,有VPN的可以自行嘗試一下,也可以用公司的網絡試試
其它方式安裝可以參考這兩篇文章
Centos 8安裝部署openstack Victoria版
Centos 8中使用Packstack(RDO)快速安裝openstack Victoria版
如果你之前看到過這篇文章,瀏覽器訪問驗證時,是無法訪問的,原因是防火牆問題

當遇到如上圖這種情況時,只有兩種情況
- 服務未啟動,導致無法訪問
- 防火牆問題,未開放端口,或安全組未配置
這次遇到的情況是,Python路徑問題導致防火牆異常

如上圖
查看防火牆是關閉狀態,但是啟動時報錯Failed to start firewalld - dynamic firewall daemon.無法啟動防火牆守護進程
解決辦法:
# 找到防火牆
which firewalld
# 編輯防火牆配置
vim /usr/sbin/firewalld
#將第一行路徑根據當前python版本進行修改,可以直接修改為硬鏈接
#!/usr/libexec/platform-python3.6 #前面的#和!要保留
之后重啟防火牆,狀態正常后關閉防火牆並禁止開機自啟,然后就可以遠程訪問啦!
其它方式安裝可以參考這三篇文章
Centos 8中使用Packstack(RDO)快速安裝openstack Victoria版
Centos 8安裝部署openstack Victoria版
Ubuntu 20使用devstack快速安裝openstack最新版
