OpenStack 全套搭建部署指南(基于 Kolla-Ansible)
一、環境準備
1. 硬件要求
控制節點:至少 4 核 CPU,8GB 內存,100GB 磁盤(推薦 SSD)。
計算節點:根據虛擬機需求調整,建議 8 核 CPU,16GB 內存,200GB+ 磁盤。
網絡節點(可選):若需獨立網絡服務,分配 2 核 CPU,4GB 內存。
2. 操作系統
推薦系統:Ubuntu 22.04 LTS 或 CentOS 9 Stream。
所有節點需滿足以下條件:
# 關閉 SELinux(CentOS)
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config # 關閉防火墻(測試環境)
sudo systemctl stop firewalld && sudo systemctl disable firewalld # CentOS
sudo ufw disable # Ubuntu # 配置時間同步(NTP/Chrony)
sudo timedatectl set-ntp true
3. 主機名與網絡規劃
主機名:確保所有節點的主機名可解析(如
controller,compute1)。網絡規劃:
管理網絡(Management Network):10.0.0.0/24
業務網絡(Tunnel/Data Network):10.0.1.0/24
外部網絡(External Network):與物理網絡橋接(如 192.168.1.0/24)。
二、安裝依賴與工具
1. 安裝 Python 和 Ansible
# Ubuntu
sudo apt update
sudo apt install -y python3-dev python3-pip git
sudo pip3 install -U pip ansible # CentOS
sudo dnf install -y python3-devel git
sudo pip3 install -U pip ansible
2. 安裝 Docker 和依賴
# Ubuntu
sudo apt install -y docker.io
sudo systemctl enable --now docker # CentOS
sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install -y docker-ce
sudo systemctl enable --now docker # 配置 Docker 鏡像加速(可選)
sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors": ["https://<your-mirror>.mirror.aliyuncs.com"]
}
EOF
sudo systemctl restart docker
3. 安裝 Kolla-Ansible
sudo pip3 install git+https://opendev.org/openstack/kolla-ansible@stable/zed
sudo mkdir -p /etc/kolla
sudo cp -r /usr/local/share/kolla-ansible/etc_examples/kolla/* /etc/kolla/
sudo cp /usr/local/share/kolla-ansible/ansible/inventory/* /etc/kolla/
三、配置 Kolla-Ansible
1. 生成全局配置文件
# 生成密碼文件
sudo kolla-ansible genpwd # 編輯全局配置(/etc/kolla/globals.yml)
sudo vim /etc/kolla/globals.yml # 關鍵配置項
kolla_base_distro: "centos" # 或 "ubuntu"
kolla_internal_vip_address: "10.0.0.100" # 控制節點 VIP
network_interface: "eth0" # 管理網絡接口
neutron_external_interface: "eth1" # 外部網絡接口
enable_cinder: "yes"
enable_cinder_backend: "lvm"
glance_backend: "file"
2. 配置 Inventory 文件
sudo vim /etc/kolla/inventory/multinode # 示例配置
[control]
controller [network]
controller [compute]
compute1 [monitoring]
controller [storage]
controller
四、部署 OpenStack
1. 執行預檢查
sudo kolla-ansible -i /etc/kolla/inventory/multinode bootstrap-servers
sudo kolla-ansible -i /etc/kolla/inventory/multinode prechecks
2. 開始部署
sudo kolla-ansible -i /etc/kolla/inventory/multinode deploy
3. 生成管理員憑據
sudo kolla-ansible post-deploy
source /etc/kolla/admin-openrc.sh # 加載環境變量
五、驗證與初始化
1. 驗證服務狀態
# 檢查容器運行狀態
sudo docker ps # 檢查 OpenStack 服務
openstack compute service list
openstack network agent list
2. 創建初始資源
# 創建外部網絡
openstack network create --external --provider-physical-network physnet1 --provider-network-type flat public
openstack subnet create --network public --subnet-range 192.168.1.0/24 --gateway 192.168.1.1 --allocation-pool start=192.168.1.100,end=192.168.1.200 public-subnet # 創建測試虛擬機
wget https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img
openstack image create --file jammy-server-cloudimg-amd64.img --disk-format qcow2 --container-format bare ubuntu-jammy
openstack flavor create --ram 2048 --disk 20 --vcpus 2 m1.small
openstack server create --image ubuntu-jammy --flavor m1.small --network public test-vm
六、后續維護與擴展
1. 添加計算節點
# 在新節點安裝依賴并加入 Inventory
sudo vim /etc/kolla/inventory/multinode
[compute]
compute1
compute2 # 重新部署
sudo kolla-ansible -i /etc/kolla/inventory/multinode deploy
2. 升級 OpenStack
# 更新 Kolla-Ansible
sudo pip3 install -U kolla-ansible # 執行升級
sudo kolla-ansible -i /etc/kolla/inventory/multinode upgrade
3. 備份與恢復
# 備份數據庫
sudo docker exec -it mariadb mysqldump -uroot -p$(grep 'database_password' /etc/kolla/passwords.yml | awk '{print $2}') --all-databases > openstack-backup.sql # 恢復數據庫
sudo docker exec -i mariadb mysql -uroot -p$(grep 'database_password' /etc/kolla/passwords.yml | awk '{print $2}') < openstack-backup.sql
七、故障排查
1. 查看容器日志
sudo docker logs <container_name>
2. 檢查網絡配置
# 驗證 Neutron Agent
openstack network agent list # 檢查 OVS 橋接
sudo ovs-vsctl show
總結
核心工具:Kolla-Ansible 提供了容器化部署的標準化流程,適合生產環境。
關鍵步驟:網絡規劃、Inventory 配置、全局參數調優。
擴展性:通過添加計算/存儲節點橫向擴展資源。
注意事項:
生產環境需啟用 TLS 加密和防火墻規則。
定期備份數據庫和配置文件。
總結
以上是生活随笔為你收集整理的OpenStack 全套搭建部署指南(基于 Kolla-Ansible)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端开发者狂喜!30K star开源组件
- 下一篇: codeup之特殊乘法