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 <

{

"registry-mirrors": ["https://.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

2. 检查网络配置

# 验证 Neutron Agent

openstack network agent list

# 检查 OVS 桥接

sudo ovs-vsctl show

总结

核心工具:Kolla-Ansible 提供了容器化部署的标准化流程,适合生产环境。

关键步骤:网络规划、Inventory 配置、全局参数调优。

扩展性:通过添加计算/存储节点横向扩展资源。

注意事项:

生产环境需启用 TLS 加密和防火墙规则。

定期备份数据库和配置文件。

[an error occurred while processing the directive]
Copyright © 2088 时代中心网 - 经典游戏活动回顾 All Rights Reserved.
友情链接