欢迎光临
我们一直在努力

kolla-ansible 部署 OpenStack 实战指南(麒麟 V11 + Zed 版)

前言

OpenStack 作为最主流的开源云计算平台,在企业私有云建设中占据重要地位。然而,传统的手动部署方式步骤繁琐、组件依赖复杂,稍有不慎就容易出错。kolla-ansible 是 OpenStack 社区官方推出的容器化部署工具,它将各个服务组件打包为 Docker 镜像,通过 Ansible 实现一键自动化部署,大幅降低了部署门槛。

本文档基于笔者在 Kylin Linux Advanced Server V11 (Swan25) 系统上的实际部署经验,详细记录了使用 kolla-ansible 18.0.0 部署 OpenStack Zed 版本的完整流程,包括环境准备、配置调优、麒麟系统适配、故障排查等关键环节。文档中所有命令均经过实际验证,关键配置项附带详细说明,适合有一定 Linux 和 OpenStack 基础的技术人员参考。

本文档的核心亮点:

  • 国产系统适配:针对麒麟 V11 系统做了专门的适配说明,解决 kolla-ansible 默认不支持麒麟的问题
  • 离线化部署:利用内网 Harbor 镜像仓库,实现 OpenStack 镜像的离线拉取,无需依赖公网 Docker Hub
  • 分步骤验证:每个部署步骤都附带了验证方法和成功标志,降低排查难度
  • 常见故障覆盖:汇总了部署过程中可能遇到的典型问题及解决方案

关于 Harbor 镜像仓库的说明

重要提示:本文档的部署流程中使用了内网 Harbor 镜像仓库(地址 10.44.52.169),这里做统一说明。

什么是 Harbor?

Harbor 是 VMware 开源的企业级容器镜像仓库,用于存储、管理和分发 Docker 镜像。它提供了镜像复制、访问控制、漏洞扫描等企业级特性,是私有化容器部署的首选方案。

为什么本文档使用内网 Harbor?

在 OpenStack 部署中,kolla-ansible 需要拉取数十个组件的 Docker 镜像(如 nova-api、neutron-server、keystone 等),这些镜像通常托管在 Docker Hub 上。但在实际生产环境中存在以下痛点:

  • 公网不可达:很多企业内网环境无法直接访问 Docker Hub,或访问速度极慢
  • 镜像版本控制:生产环境需要锁定特定版本的镜像,避免自动更新带来的兼容性问题
  • 部署效率:一次性从公网拉取几十 GB 的镜像非常耗时,内网拉取可大幅提速
  • 因此,我们提前将 OpenStack Zed 版本所需的所有镜像上传到了内网 Harbor 仓库,所有节点通过 Harbor 拉取镜像,既保证了部署效率,也确保了版本一致性。

    如何适配你的环境?

    如果你在自己的环境中参照本文档部署,需要注意以下几点:

  • 替换 Harbor 地址:文档中所有 10.44.52.169 的地址,需替换为你自己的 Harbor 或镜像仓库地址
  • 准备镜像:你需要提前将 kolla-ansible 所需的 OpenStack 镜像推送到你的仓库中。镜像列表可通过 kolla-ansible pull 命令查看
  • 配置 Docker 信任:如果你的 Harbor 使用了自签名证书,需要在所有节点的 Docker 配置中添加 insecure-registries 参数:
  • {
    "insecure-registries": ["你的Harbor地址"]
    }

  • 替代方案:如果你没有 Harbor 环境,也可以:
    • 直接使用 Docker Hub(需确保所有节点能访问公网),在 globals.yml 中不配置私有镜像源即可
    • 使用其他容器镜像仓库(如 Nexus、Docker Registry 等),流程类似

  • 1. 环境准备

    1.1 硬件与系统配置

    本次部署使用 3 台虚拟机,硬件规格与网络信息完全一致,具体参数如下:

    节点名称操作系统版本CPU 型号CPU 核心数内存大小IP 地址网卡 1网卡 2
    openstack1 Kylin V11 2503 Intel® Xeon® Platinum 8269CA 16 32G 10.44.59.61 enp1s0 enp6s0
    openstack2 Kylin V11 2503 Intel® Xeon® Platinum 8269CA 16 32G 10.44.59.62 enp1s0 enp6s0
    openstack3 Kylin V11 2503 Intel® Xeon® Platinum 8269CA 16 32G 10.44.59.63 enp1s0 enp6s0

    1.2 前置说明

    • 网卡用途:enp1s0 用于管理网络(需配置 IP),enp6s0 用于 Neutron 外部网络(无需配置 IP,后续在 globals.yml 中指定)
    • 部署节点:选择 openstack1 作为部署节点,所有 ansible 命令均在此节点执行,其他节点为被控节点
    • 权限要求:所有操作需使用 root 用户,避免因权限不足导致部署失败
    • 版本说明:kolla-ansible 18.0.0 对应 OpenStack Zed 版本,不同版本间的兼容性请参考 OpenStack 官方文档

    2. 部署前环境准备(所有节点执行,特殊标注除外)

    2.1 配置主机名

    操作目的:统一节点名称,便于后续免密访问和 ansible 管理。

    以 openstack1 为例,其他节点需将主机名替换为对应名称(openstack2、openstack3):

    # 设置主机名
    hostnamectl set-hostname openstack1

    # 刷新 shell 环境,使主机名生效
    bash

    # 验证主机名是否正确
    hostname

    2.2 添加节点 Host 映射

    操作目的:实现节点间通过主机名互相访问,无需依赖 DNS 服务。

    编辑 /etc/hosts 文件,添加以下内容:

    vim /etc/hosts

    添加内容:

    10.44.59.61 openstack1
    10.44.59.62 openstack2
    10.44.59.63 openstack3

    验证:在任意节点执行 ping openstack1,确保能正常连通。

    2.3 配置部署节点免密登录(仅 openstack1 执行)

    操作目的:避免 ansible 执行时频繁输入密码,提高部署效率。

    # 生成 SSH 密钥对(一路回车,无需设置密码)
    ssh-keygen

    # 将公钥分发到所有节点(包括自身)
    ssh-copy-id openstack1
    ssh-copy-id openstack2
    ssh-copy-id openstack3

    验证:在 openstack1 执行 ssh openstack2,无需输入密码即可登录则配置成功。

    2.4 关闭防火墙与 SELinux

    操作目的:避免防火墙规则和 SELinux 安全策略阻止 OpenStack 组件间的网络通信。

    # 关闭并禁用 firewalld 服务
    systemctl disable –now firewalld

    # 临时关闭 SELinux(立即生效,重启后失效)
    setenforce 0

    # 永久关闭 SELinux(修改配置文件,重启后生效)
    sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config

    验证:执行 getenforce,输出 Disabled 则 SELinux 已关闭;执行 systemctl status firewalld,输出 inactive 则防火墙已关闭。

    2.5 安装系统依赖包

    操作目的:安装 OpenStack 和 Docker 运行所需的基础依赖,确保后续组件正常安装。

    dnf install -y device-mapper-persistent-data lvm2 docker git python3-devel libffi-devel gcc openssl-devel python3-libselinux python3-docker wget

    说明:dnf 是麒麟系统的包管理器(兼容 CentOS/RHEL 系的 yum 用法),若执行过程中出现包不存在的情况,可先执行 dnf update 更新软件源后重试。

    2.6 配置 Docker(关键步骤)

    操作目的:优化 Docker 镜像拉取速度、指定数据存储路径、配置日志策略,避免 Docker 默认配置导致的磁盘空间不足、日志膨胀等问题。

    步骤 1:创建 Docker 配置目录

    mkdir /etc/docker

    步骤 2:生成 Docker 配置文件 daemon.json

    tee /etc/docker/daemon.json << 'EOF'
    {
    "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com",
    "https://docker.mirrors.ustc.edu.cn"
    ],
    "data-root": "/data/docker",
    "storage-driver": "overlay2",
    "log-driver": "json-file",
    "log-opts": {
    "max-size": "10m",
    "max-file": "3"
    },
    "live-restore": true,
    "dns": ["8.8.8.8", "8.8.4.4"]
    }
    EOF

    步骤 3:重启 Docker 服务并设置开机自启

    systemctl restart docker.service
    systemctl enable docker.service

    关键配置说明:

    配置项说明
    registry-mirrors 国内 Docker Hub 镜像加速器,解决官方源拉取慢的问题
    data-root Docker 数据存储路径,建议选择磁盘空间充足的分区(需确保 /data 目录存在,若不存在需先执行 mkdir -p /data)
    storage-driver: overlay2 Docker 推荐的存储驱动,性能优于旧版 devicemapper 驱动
    log-opts 限制容器日志大小和保留数量,避免日志文件占满磁盘
    live-restore 允许 Docker 守护进程重启时保持容器运行,减少服务中断
    dns 指定容器使用的 DNS 服务器,确保容器内域名解析正常

    验证:执行 docker info,查看 Registry Mirrors 和 Storage Driver 是否与配置一致。

    3. 部署 kolla-ansible(仅在 openstack1 的 Python 虚拟环境中执行)

    3.1 创建并激活 Python 虚拟环境

    操作目的:创建独立的 Python 运行环境,避免与系统自带的 Python 包产生依赖冲突,确保 kolla-ansible 各组件版本兼容。

    # 创建虚拟环境(.venv 为隐藏目录,位于 /root 下)
    python3 -m venv .venv/kolla

    # 激活虚拟环境(激活后命令行前缀会显示 "(kolla)")
    source ~/.venv/kolla/bin/activate

    注意:后续所有 kolla-ansible 相关命令,均需在虚拟环境中执行。若退出了虚拟环境(执行 deactivate),需重新激活后再继续操作。

    3.2 安装 kolla-ansible 与核心依赖

    步骤 1:配置 Python 镜像源(使用清华源,加速包下载)

    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

    步骤 2:更新 pip 工具

    pip3 install -U pip

    步骤 3:安装指定版本的 ansible-core(kolla-ansible 18.0.0 依赖 ansible-core 2.15 ~ 2.16.99 版本)

    pip3 install 'ansible-core>=2.15,<2.16.99'

    为什么不直接安装最新版 ansible-core? kolla-ansible 对 ansible-core 的版本有严格限制,版本不匹配可能导致部署过程中出现模块缺失或语法不兼容的错误。

    步骤 4:安装 kolla-ansible 18.0.0

    pip3 install kolla-ansible==18.0.0

    步骤 5:安装 kolla-ansible 依赖包

    kolla-ansible install-deps

    验证:执行 kolla-ansible –version,输出 kolla-ansible 18.0.0 则安装成功。

    3.3 下载并配置 kolla 配置文件

    步骤 1:下载配置文件压缩包(地址为内网文件服务器,需确保可访问)

    cd /root
    wget http://10.44.52.169/others/kolla/kolla-ansible-conf.tar.gz

    故障排查:若 wget 下载失败,可检查网络连通性(执行 ping 10.44.52.169),或手动下载该文件后通过 scp 上传到 /root 目录。

    步骤 2:解压配置文件

    tar xvf kolla-ansible-conf.tar.gz
    cd kolla-ansible-conf

    步骤 3:复制配置文件到 /etc/kolla 目录(kolla 默认配置目录)

    mkdir /etc/kolla
    cp multinode passwords.yml globals.yml /etc/kolla

    3.4 关键配置文件详解(需根据实际环境修改)

    3.4.1 multinode 文件 —— 主机清单

    作用:定义 Ansible 管理的节点分组,决定哪些节点承担控制节点(control)角色,哪些节点承担计算节点(compute)角色。

    修改说明:

    • 打开文件:vim /etc/kolla/multinode
    • 确保 [control]、[compute] 分组下的主机名与实际节点名称一致,示例:

    [control]
    openstack1
    openstack2
    openstack3

    [compute]
    openstack1
    openstack2
    openstack3

    说明:本文档将 3 个节点同时作为控制节点和计算节点(All-in-One 多节点模式)。如果资源充足,也可以将控制节点和计算节点分离部署,例如仅 openstack1 为控制节点,openstack2 和 openstack3 为计算节点。

    3.4.2 globals.yml 文件 —— 核心配置

    作用:定义 OpenStack 部署的核心参数,包括镜像源、网络接口、服务开关等,是整个部署中最关键的配置文件。

    必改参数(根据你的实际环境调整):

    参数名称说明本文档配置
    kolla_base_distro 基础镜像系统(麒麟系统需指定为 centos) kolla_base_distro: centos
    openstack_release OpenStack 版本(需与 kolla-ansible 版本兼容) openstack_release: zed
    kolla_internal_vip_address 控制节点 VIP 地址(单节点可设为控制节点 IP) kolla_internal_vip_address: 10.44.59.66
    network_interface 管理网络接口(对应本文档的 enp1s0) network_interface: enp1s0
    neutron_external_interface Neutron 外部网络接口(对应 enp6s0,无需配置 IP) neutron_external_interface: enp6s0
    enable_haproxy 是否启用 HAProxy 负载均衡(多节点建议 yes) enable_haproxy: yes
    enable_cinder 是否启用 Cinder 块存储服务 enable_cinder: yes
    enable_cinder_backend_nfs Cinder 后端存储类型(NFS 需提前部署好 NFS 服务) enable_cinder_backend_nfs: yes
    nova_compute_virt_type Nova 虚拟化类型(物理机 KVM 环境用 kvm,虚拟机中用 qemu) nova_compute_virt_type: kvm

    修改操作:

    vim /etc/kolla/globals.yml

    根据上述说明调整参数,保存退出(:wq)。

    3.4.3 passwords.yml 文件 —— 密码配置

    作用:存储 OpenStack 所有服务的密码(如 admin 用户密码、数据库密码、消息队列密码等),是安全管理的核心文件。

    操作:通过命令自动生成随机密码(避免手动设置弱密码带来的安全风险):

    kolla-genpwd

    说明:生成的密码会覆盖 passwords.yml 中的默认值。后续可通过 cat /etc/kolla/passwords.yml 查看各服务密码,但建议不要手动修改,避免密码不一致导致服务认证失败。

    3.5 同步所有节点的 Python 依赖(关键步骤)

    操作目的:确保所有节点的 Python 依赖与部署节点保持一致,避免 ansible 执行时因依赖缺失或版本不匹配导致部署失败。

    步骤 1:在部署节点(openstack1)导出依赖列表

    pip3 freeze > /tmp/requirements.txt

    步骤 2:将依赖列表同步到其他节点

    scp /tmp/requirements.txt openstack2:/tmp
    scp /tmp/requirements.txt openstack3:/tmp

    步骤 3:退出虚拟环境(临时操作)

    deactivate

    步骤 4:所有节点执行以下命令安装依赖(包括 openstack1)

    # 更新 pyopenssl(解决部分证书兼容性问题)
    pip install –upgrade pyopenssl

    # 安装依赖列表中的包
    pip3 install -r /tmp/requirements.txt

    步骤 5:重新激活部署节点的虚拟环境

    source ~/.venv/kolla/bin/activate

    3.6 麒麟系统适配(必做步骤)

    操作目的:kolla-ansible 默认未对麒麟 Linux 做充分适配,直接部署可能遇到包管理器识别错误、服务启动失败等问题。本节通过修改 kolla-ansible 的配置文件来兼容麒麟系统。

    操作步骤:

  • 参考 Gitee 仓库的适配方案:https://gitee.com/xzyang-kylin/kolla/commit/1bd511526af71566147d649478891941370c5352,查看具体修改内容

  • 关键路径映射(对照文档中的路径修改你本地的文件):

    • 文档中的 venv 目录 → 本文档部署节点的 /root/.venv 目录
    • 文档中的 ansible 目录 → 本文档部署节点的 /root/.ansible 目录
  • 按照文档说明修改对应文件,确保麒麟系统下的包安装、服务启动流程正常

  • 核心原理:kolla-ansible 在部署时会检查目标节点的操作系统类型,麒麟系统基于 CentOS 但部分标识不同,需要修改 kolla-ansible 中的系统识别逻辑,让 kolla-ansible 将麒麟识别为 CentOS 兼容系统,从而正确执行包安装命令。

    3.7 执行 kolla-ansible 部署(分步骤执行,每步验证)

    步骤 1:bootstrap-servers —— 安装节点基础依赖

    cd /etc/kolla
    kolla-ansible -i ./multinode bootstrap-servers

    作用:在所有节点安装 OpenStack 服务运行所需的基础包(如 Python 扩展、Docker 配置等)。

    成功标志:命令执行完成后,无 ERROR 日志,最后输出 PLAY RECAP 且所有节点的 ok 数正常、failed=0。

    步骤 2:prechecks —— 前置检查

    kolla-ansible -i ./multinode prechecks

    作用:检查各节点环境是否满足部署要求,包括网络连通性、依赖包版本、Docker 运行状态、磁盘空间等。

    重要提示:

    • 若出现 WARNING,可根据提示判断是否需要处理(如 “内存不足” 建议扩容)
    • 若出现 ERROR,必须解决后再继续,否则后续部署必然失败(如 “Docker 未启动” 需重启 Docker 服务后重新检查)
    步骤 3:配置 Harbor 镜像仓库(所有节点执行)

    关于 Harbor 的说明:本文档使用内网 Harbor 镜像仓库(地址 10.44.52.169)来存储和分发 OpenStack 组件镜像,避免从公网 Docker Hub 拉取镜像的缓慢和不可达问题。Harbor 是一个企业级容器镜像仓库,如果你是首次了解,建议先阅读本文档开头的 关于 Harbor 镜像仓库的说明 章节。

    # 在所有节点执行以下命令(包括 openstack1、openstack2、openstack3)
    curl -s http://10.44.52.169/others/harbor509 | bash

    作用:执行 Harbor 初始化脚本,配置 Docker 客户端对 Harbor 仓库的访问权限,包括添加 Harbor 地址到 Docker 的信任列表、配置登录凭证等,确保后续镜像拉取正常。

    步骤 4:拉取 OpenStack 镜像(部署节点执行)

    bash /root/kolla-ansible-conf/pull_image_2024

    作用:从 Harbor 镜像仓库批量拉取 OpenStack 所有组件镜像(如 Nova、Neutron、Cinder、Keystone 等),镜像版本与 globals.yml 中配置的 openstack_release: zed 一致。

    执行说明:

    • 拉取过程耗时较长(取决于网络带宽和镜像总量),需耐心等待,切勿中断命令
    • 若出现 “镜像拉取失败”,先检查 Harbor 仓库连通性(执行 curl http://10.44.52.169),确认网络正常后重新执行拉取命令

    验证:执行 docker images,查看是否存在以下镜像且版本为 zed:

    docker images | grep -E "kolla/centos-binary-(nova|neutron|keystone|glance|cinder)"

    步骤 5:deploy —— 执行部署

    kolla-ansible -i ./multinode deploy

    作用:通过 Ansible 自动化编排,在所有节点上完成 OpenStack 服务的配置生成、容器启动、组件关联等全流程部署。

    关键注意事项:

  • 部署过程中若出现 ERROR 中断,需先查看错误日志(默认路径 /var/log/kolla/),定位问题后修复(如依赖缺失、配置错误),再重新执行部署命令。kolla-ansible 支持断点续跑,重跑时已成功的步骤会自动跳过
  • 若出现 “HAProxy 端口占用” 错误,检查是否有其他服务占用 80/443 端口(执行 netstat -tuln | grep -E ':80|:443'),停止占用服务后重试
  • 成功标志:命令执行完成后,输出 PLAY RECAP 且所有节点 failed=0,最后提示 “Deployment completed successfully”。

    步骤 6:post-deploy —— 生成客户端配置文件

    kolla-ansible -i ./multinode post-deploy

    作用:生成用于访问 OpenStack 服务的客户端环境变量配置文件,包含认证地址、用户名、密码等关键信息。

    文件路径:生成的 admin-openrc.sh 位于 /etc/kolla/admin-openrc.sh。

    配置生效:执行以下命令加载配置,之后 OpenStack 客户端命令(如 openstack server list)可直接使用:

    source /etc/kolla/admin-openrc.sh

    4. 部署后验证

    4.1 验证 OpenStack 服务状态

    4.1.1 检查容器运行状态

    OpenStack 所有服务以 Docker 容器方式运行,执行以下命令检查容器是否正常启动:

    docker ps | grep kolla

    验证标准:

    • 关键容器(如 nova-api、neutron-server、keystone、glance-api)状态为 Up(运行中),无 Exited(退出)状态
    • 若某容器异常退出,查看日志定位问题:docker logs <容器ID>(容器 ID 可通过 docker ps -a 查看)
    4.1.2 验证核心服务可用性

    通过 OpenStack 命令行客户端逐一验证各核心服务的响应状态:

    1. 验证认证服务(Keystone)

    openstack token issue

    成功输出:返回包含 id、expires 的令牌信息,无报错。

    2. 验证计算服务(Nova)

    openstack compute service list

    成功输出:列出所有计算节点的 nova-compute 服务,状态为 up。

    3. 验证镜像服务(Glance)

    openstack image list

    成功输出:列出镜像列表(可能为空),无报错即可。

    4. 验证网络服务(Neutron)

    openstack network list

    成功输出:列出默认网络(如 public、private),无报错。

    5. 验证块存储服务(Cinder)

    openstack volume service list

    成功输出:列出 cinder-volume 服务,状态为 up。

    4.2 访问 OpenStack 控制台(Horizon)

    4.2.1 登录信息
    • 访问地址:http://10.44.59.66(即 globals.yml 中配置的 kolla_internal_vip_address)
    • 用户名:admin(默认管理员账号)
    • 密码:从 passwords.yml 中获取,执行以下命令:

    grep keystone_admin_password /etc/kolla/passwords.yml

    4.2.2 控制台功能验证

    登录 Horizon 后,建议检查以下功能以确保部署完全正常:

  • 查看 “项目 → 计算 → 实例” 页面,确认无异常报错
  • 尝试创建测试实例(选择默认镜像和网络),确认实例能正常启动,状态变为 “运行中”
  • 查看 “管理 → 系统信息” 页面,确认所有已启用的服务均显示为正常状态
  • 5. 常见故障排查

    5.1 镜像拉取失败

    现象:执行 pull_image_2024 脚本时,某镜像拉取超时或报错 “no such image”。

    解决方案:

  • 检查 Harbor 仓库连通性:ping 10.44.52.169,若不通需修复网络(如添加路由、关闭防火墙)
  • 重新登录 Harbor 仓库:docker login 10.44.52.169,用户名和密码联系仓库管理员获取
  • 手动拉取指定镜像:docker pull 10.44.52.169/kolla/centos-binary-nova-compute:zed(替换为失败的镜像名和版本)
  • 5.2 容器启动失败(Exited 状态)

    现象:docker ps -a 显示某容器状态为 Exited (1)。

    解决方案:

  • 查看容器日志:docker logs <容器ID>,定位错误原因(如配置文件错误、端口占用、数据库连接失败)
  • 常见错误处理:
    • 若日志显示 “配置文件缺失”,重新执行 kolla-ansible deploy 生成配置文件
    • 若日志显示 “端口被占用”,执行 netstat -tuln | grep <端口号> 找到占用服务,停止后重启容器:docker restart <容器ID>
    • 若日志显示 “数据库连接失败”,检查 MariaDB 容器状态:docker ps | grep mariadb,必要时重启数据库容器
  • 5.3 Horizon 登录失败

    现象:访问控制台输入密码后,提示 “认证失败” 或 “无法连接到认证服务”。

    解决方案:

  • 检查 admin-openrc.sh 配置:确认 OS_AUTH_URL 为 http://10.44.59.66:5000/v3(与 VIP 地址一致)
  • 验证管理员密码:重新从 passwords.yml 中获取 keystone_admin_password,确认输入无误
  • 检查 Keystone 服务状态:docker logs kolla_keystone_api,若日志中有 “数据库连接失败”,重启数据库容器:docker restart kolla_mariadb
  • 5.4 部署过程中报 “操作系统不支持” 错误

    现象:执行 bootstrap-servers 或 deploy 时,提示 “Unsupported OS” 或 “Unknown distribution”。

    解决方案:回到 3.6 麒麟系统适配 章节,检查 kolla-ansible 的系统识别配置文件是否已正确修改,确保麒麟系统能被识别为 CentOS 兼容系统。

    6. 附录

    6.1 关键文件路径速查

    文件 / 目录用途
    /etc/kolla/globals.yml OpenStack 核心配置文件
    /etc/kolla/passwords.yml 所有服务密码存储文件
    /etc/kolla/multinode Ansible 主机清单文件
    /var/log/kolla/ OpenStack 服务日志目录
    /etc/kolla/admin-openrc.sh OpenStack 客户端环境变量配置文件

    6.2 常用命令速查

    命令用途
    source ~/.venv/kolla/bin/activate 激活 Python 虚拟环境
    kolla-ansible -i ./multinode deploy 执行 OpenStack 部署
    docker ps | grep kolla 查看 OpenStack 容器运行状态
    openstack server list 查看计算实例列表
    openstack network list 查看网络列表
    kolla-ansible destroy –yes-i-really-really-mean-it 卸载 OpenStack(谨慎使用,不可逆)

    6.3 版本对应关系

    kolla-ansible 版本OpenStack 版本ansible-core 版本范围
    18.0.0 Zed 2.15 ~ 2.16.99
    17.0.0 Yoga 2.14 ~ 2.15.99
    16.0.0 Xena 2.12 ~ 2.13.99

    总结

    本文档完整记录了在麒麟 Linux V11 系统上使用 kolla-ansible 部署 OpenStack Zed 版本的全过程,核心要点回顾:

  • 环境准备是基础:确保节点间网络互通、免密登录配置正确、防火墙和 SELinux 已关闭,这些基础步骤出问题会导致后续部署失败
  • 麒麟系统适配是关键:kolla-ansible 默认不支持麒麟系统,需要手动修改系统识别配置文件,这一步不做后续必然报错
  • Harbor 镜像仓库提效:利用内网 Harbor 仓库分发 OpenStack 镜像,避免公网拉取的缓慢和不稳定,是生产环境部署的最佳实践
  • 分步骤验证:每完成一个部署步骤就进行验证,可以及时发现问题,避免问题积累到最后难以排查
  • 希望本文档能帮助你在国产系统上顺利完成 OpenStack 部署。如果在部署过程中遇到本文档未覆盖的问题,欢迎在评论区留言交流。

    赞(0)
    未经允许不得转载:171主机测评 » kolla-ansible 部署 OpenStack 实战指南(麒麟 V11 + Zed 版)
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址