服務器準備
準備兩臺或多臺的雙網卡服務,注意一定是雙網卡。否則不能安裝
主機名 | IP | 配置 |
---|---|---|
OpenStack1 | enp0s3:192.168.3.203enp0s8 | 4C8G |
OpenStack2 | enp0s3:192.168.3.203enp0s8 | 4C8G |
環境準備
注意:每臺服務器都需要安裝
安裝docker環境
Docker的安裝在此就不做過多解釋,如果需要請參考:https://www.toutiao.com/article/7137163018965746216/
每臺服務器都需要安裝Docker,并啟動
安裝python3環境
下載
https://registry.npmmirror.com/-/binary/python/3.9.13/Python-3.9.13.tgz
解壓
tar -zxvf Python-3.9.13.tgz
安裝
首先進入Python3.9.13/Modules/Setup文件中取消SSL的注釋,否則在后面會報錯
vim Python3.9.13/Modules/Setup
[圖片上傳失敗...(image-101f27-1661828016225)]
生成makefile文件,并指定安裝目錄
cd Python-3.9.13
./configure --prefix=/usr/local/python39
[圖片上傳失敗...(image-f9b148-1661828016225)]
安裝是需要gcc和make,如果未安裝請安裝,已安裝請忽略
make clean && make install
配置
修改環境變量。文件末尾追加:PATH=${PATH}:/usr/local/python39/bin/
vim /etc/profile
source /etc/profile
驗證
[圖片上傳失敗...(image-c07a20-1661828016225)]
關閉防火墻
關閉防火墻
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
關閉selinux
getenforce
setenforce 0
sed -i 's/enforcing/disabled/g' /etc/selinux/config
getenforce
修改主機名
hostnamectl set-hostname OpenStack
添加hosts
192.168.3.204 OpenStack1
192.168.3.205 OpenStack2
安裝軟件
下載 epel 源
yum -y install epel-release
安裝 ansible 和 kolla-ansible
修改pip的源,加速下載
mkdir ~/.pip
vi ~/.pip/pip.conf
# 添加內容如下
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install --upgrade setuptools
pip3 install ansible==5.9.0
pip3 install kolla-ansible
配置
只需要在控制節點上配置即可
復制 ansible 的相關配置
cp -r /usr/local/python39/share/kolla-ansible/etc_examples/kolla /etc/
cp /usr/local/python39/share/kolla-ansible/ansible/inventory/* /etc/kolla/
生成OpenStack服務密碼文件,并修改admin密碼
kolla-genpwd
vim /etc/kolla/passwords.yml
[圖片上傳失敗...(image-8e2ff5-1661828016225)]
自定義OpenStack中的部署項
編輯/etc/kolla/global.yml
#選擇下載的基礎鏡像
kolla_base_distro: "centos"
#選擇的安裝方法,2選1。binary二進制安裝,source源碼安裝
kolla_install_type: "source"
#選擇OpenStack的版本標簽,
openstack_release: "yoga"
#OpenStack內部管理網絡地址,通過該IP訪問OpenStack Web頁面進行管理。如果啟用了高可用,需要設置為VIP(浮動IP)
kolla_internal_vip_address: "192.168.199.171"
#OpenStack內部管理網絡地址的網卡接口
network_interface: "enp0s3"
#此網卡應該在沒有IP地址的情況下處于活動,如果不是,那么OpenStack云平臺中的云主機實例將無法訪問外部網絡。(存在IP時br-ex橋接就不成功)
neutron_external_interface: "enp0s8"
#關閉高可用
enable_haproxy: "no"
#關閉cinder(塊存儲)
enable_cinder: "no"
#指定nova-compute守護進程使用的虛擬化技術。(kvm好像有點問題,大家可以試試,看看你們能不能過nova下載)nova-compute是一個非常重要的守護進程,負責創建和終止虛擬機實例,即管理虛擬機實例的生命周期。
nova_compute_virt_type: "qemu" #在物理機上部署時無需設置(默認kvm) ,僅在虛擬機中部署kolla-ansible-openstack時設置qemu
互信任
添加信任是為了免密登錄。如果不不能免密登錄在下載鏡像時會報錯,無法把鏡像下載到其他服務器中
ssh-keygen -t rsa # 一路回車即可,都是用默認的,如果需要設置密碼請在顯示密碼后輸入密碼。
ssh-copy-id -i ~/.ssh/id_rsa root@OpenStack1
ssh-copy-id -i ~/.ssh/id_rsa root@OpenStack2
驗證
是用ssh 密碼登錄OpenStack2服務中,如果沒有出現輸入密碼則說明已經互信任了。
ssh OpenStack2
[圖片上傳失敗...(image-6d74d9-1661828016225)]
配置節點清單
[圖片上傳失敗...(image-d21a3f-1661828016225)]
- all-in-one:OpenStack單節點的配置清單,如果是一個服務器則配置這個文件即可
- globals.yml:OpenStack配置項
- multinode:OpenStack多節點的配置清單,我們此次就是修改這個清單
- passwords.yml:OpenStack各服務的密碼。web界面的登錄也是在這里修改。
vim /etc/kolla/multinode
[圖片上傳失敗...(image-a979e4-1661828016225)]
只需要修改標記出來的這一部分即可,后面的都是默認。這些主機名必須可以從部署主機中解析
- control:控制節點
- network:網絡節點
- compute:計算節點
- monitoring:監控節點
- storage:存儲節點
- deployment:部署節點
安裝 Ansible Galaxy 依賴
yum install git -y
cp /usr/local/python39/share/kolla-ansible/requirements.yml /usr/local/python39/
kolla-ansible install-deps
部署
先把系統的python替換成我們下載好的python3.9版本,否則后面執行會報錯。但是替換python后無法使用yum命令,這個問題暫時未解決。
注意:這里的命令是每臺服務器都需要執行
cp -r /usr/local/python39/share/kolla-ansible/ansible /usr/local/python39/
# 刪除系統原先的 platform-python ,新建立軟鏈接,換成自己安裝的python
rm -rf /usr/libexec/platform-python
ln -s /usr/local/python39/bin/python3 /usr/libexec/platform-python
# 安裝 docker 包
pip3 install docker
預檢查
kolla-ansible -i /etc/kolla/multinode prechecks
在檢查過程中沒有錯誤即可,如果有錯誤根據操作提示進行修改即可
拉取鏡像
kolla-ansible -i /etc/kolla/multinode pull
拉取鏡像的過程時間有點長??梢赃^一段時間再來查看。拉取完成后會有結果,和上面的預檢查一樣
部署
kolla-ansible -i /etc/kolla/multinode deploy
驗證
相關文章
kolla 搭建 openstack 單機版云環境:http://www.lxweimin.com/p/edb1abc67c4b