想在 CentOS 上用 Kolla 部署 OpenStack 单节点,却不知道从哪下手?担心步骤太复杂容易出错?别着急,小编这就带大家一步步搞定,就算是新手也能看懂。
一、先搞懂:为什么选 CentOS+Kolla 组合?
很多朋友会问,部署 OpenStack 的系统和工具那么多,为啥推荐 CentOS 搭配 Kolla 呢?
从稳定性来说,CentOS 7 对 OpenStack 的兼容性经过了大量实践验证,社区支持也比较成熟;而 Kolla 是 OpenStack 官方推荐的容器化部署工具,能把复杂的组件打包成容器,大大减少依赖冲突。
当然啦,如果你用的是 Ubuntu 也不是不行,但 CentOS 在企业环境里更常见,出问题好找解决方案。
二、环境准备:这些硬件和系统配置不能少
1. 硬件要求得达标
别想着用太低配的机器试,不然部署到一半卡壳就麻烦了。最低配置建议:
- CPU:4 核及以上(推荐 8 核,不然跑服务会很吃力)
- 内存:至少 8GB(单节点部署,16GB 会更流畅)
- 硬盘:50GB 以上空闲空间(镜像和容器会占不少地方)
- 网络:至少一张网卡,能连接互联网(要拉取镜像和依赖)
2. CentOS 系统初始化要做啥?
刚装完的 CentOS 7 可不能直接用,得先做这几步:
① 关闭防火墙和 SELinux(OpenStack 组件端口多,临时关闭能减少很多麻烦)
plaintext
systemctl stop firewalld && systemctl disable firewalld
setenforce 0 && sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
② 配置静态 IP(别用 DHCP,不然重启后 IP 变了,容器通信会出问题)
③ 更换国内 yum 源(比如阿里云,默认的国外源下载太慢,这步能省很多时间)
三、Kolla 部署工具:安装前先搞懂这几点
1. Kolla 和 Kolla-ansible 有啥区别?
简单说,Kolla 负责打包容器镜像,Kolla-ansible 则是用 Ansible 剧本自动化部署这些容器。我们部署时两者都得装。
2. 和其他工具比,Kolla 优势在哪?
给大家做个简单对比:
部署工具 | 优势 | 缺点 | 适合场景 |
---|---|---|---|
Kolla | 容器化部署,隔离性好 | 首次部署下载镜像时间长 | 生产环境、追求稳定性 |
DevStack | 部署快,适合测试 | 组件简化,不适合生产 | 学习、临时测试 |
小编个人建议,如果你是想搭一个能长期用的单节点环境,选 Kolla 准没错。
四、单节点部署实战:一步步跟着做
1. 安装依赖包
先装 Python 和 Docker,这些是 Kolla 运行的基础:plaintext
yum install -y python3 python3-pip docker
systemctl start docker && systemctl enable docker
这里有个小技巧,给 Docker 配置国内镜像加速,比如网易或阿里云的,不然拉取 OpenStack 镜像能等到你着急。
2. 安装 Kolla 和 Kolla-ansible
用 pip 安装最方便,记得指定国内源:
plaintext
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple kolla kolla-ansible
安装完成后,复制配置文件到 /etc/kolla 目录:
plaintext
cp -r /usr/local/share/kolla-ansible/etc_examples/kolla /etc/
cp /usr/local/share/kolla-ansible/ansible/inventory/* .
3. 修改配置文件(关键步骤!)
打开 /etc/kolla/globals.yml,这几个参数必须改:
kolla_base_distro: "centos"
(指定基础系统)kolla_install_type: "source"
(用源码编译的镜像,更稳定)openstack_release: "wallaby"
(选一个稳定版本,别用最新的,容易有 bug)enable_haproxy: "no"
(单节点不用负载均衡,关掉能省资源)
4. 执行部署命令
先做预检查,确保没问题:
plaintext
kolla-ansible -i all-in-one prechecks
然后拉取镜像并部署:
plaintext
kolla-ansible -i all-in-one deploy
这一步时间会比较长,取决于网络速度,大家耐心等就行。部署成功后,会提示 “Successfully deployed OpenStack”。
五、故障排查:遇到这些问题别慌
1. 部署时提示 “Permission denied”?
大概率是 Docker 权限不够,把当前用户加入 docker 组:
plaintext
usermod -aG docker $USER
然后重新登录生效。
2. 访问 Dashboard 提示 “503 错误”?
先检查 keystone 服务是否启动:
plaintext
docker ps | grep keystone
如果没启动,执行kolla-ansible restart keystone
试试。还不行的话,查看日志:docker logs keystone_api
,通常能找到具体原因。
3. 镜像拉取一直失败?
除了配置 Docker 加速,还可以手动下载镜像,比如用docker pull hub.docker.com/openstack/kolla/centos-source-nova-api:wallaby
,再重新打 tag。
其实 OpenStack 部署看起来复杂,只要把环境准备好,跟着步骤来,大部分问题都能解决。小编建议大家部署前先在虚拟机里练手,熟悉流程后再上物理机。遇到问题多查官方文档,社区里的解决方案也很丰富。希望这篇教程能帮到大家,祝大家部署顺利!