You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于通过Kolla-Ansible部署的OpenStack Wallaby版本切换容器运行时的咨询

关于通过Kolla-Ansible部署的OpenStack Wallaby版本切换容器运行时的咨询

Absolutely yes, you can switch the container runtime from Docker to containerd (which implements the CRI standard) for your OpenStack Wallaby deployment via Kolla-Ansible on Ubuntu. Here's a step-by-step guide to make this transition smoothly:

1. 停止所有OpenStack服务与容器

首先需要优雅关停现有OpenStack部署:

  • 执行Kolla-Ansible停止命令来终止所有服务:
    kolla-ansible stop -i <你的清单文件路径>
    
  • 为确保彻底清理,手动停止并移除残留的Docker容器:
    sudo docker stop $(sudo docker ps -q)
    sudo docker rm $(sudo docker ps -aq)
    

2. 在控制节点与计算节点卸载Docker

清理旧的Docker运行时环境:

  • 停止并禁用Docker服务:
    sudo systemctl stop docker
    sudo systemctl disable docker
    
  • 彻底卸载Docker相关包:
    sudo apt purge -y docker-ce docker-ce-cli containerd.io
    
  • 删除Docker残留的数据与配置目录:
    sudo rm -rf /var/lib/docker /etc/docker
    

3. 安装并配置containerd

搭建新的容器运行时:

  • 通过apt安装containerd:
    sudo apt install -y containerd
    
  • 生成containerd默认配置文件:
    sudo mkdir -p /etc/containerd
    containerd config default | sudo tee /etc/containerd/config.toml
    
  • 修改配置以启用systemd cgroup驱动(OpenStack服务必需):
    用你习惯的编辑器打开/etc/containerd/config.toml,找到[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]段,设置:
    SystemdCgroup = true
    
  • 重启并设置containerd开机自启:
    sudo systemctl restart containerd
    sudo systemctl enable containerd
    

4. 更新Kolla-Ansible配置

告知Kolla-Ansible使用containerd替代Docker:

  • 打开Kolla全局配置文件(通常为/etc/kolla/globals.yml),修改容器运行时配置项:
    container_runtime: "containerd"
    
    确保已有kolla_base_distro: "ubuntu"配置项存在(你基于Ubuntu部署,应该已经设置过)。

5. 用containerd重新部署OpenStack

触发使用新运行时的部署流程:

  • 先执行bootstrap-servers命令,重新配置节点适配containerd:
    kolla-ansible bootstrap-servers -i <你的清单文件路径>
    
  • 再执行deploy命令,用containerd启动所有OpenStack服务:
    kolla-ansible deploy -i <你的清单文件路径>
    

6. 验证切换是否成功

  • 在任意节点,使用crictl(若未安装可执行sudo apt install -y cri-tools)查看运行中的容器:
    sudo crictl ps
    
    你应该能看到所有OpenStack服务容器都在containerd下运行。
  • 检查OpenStack服务状态,确认一切正常:
    openstack service list
    
    所有服务应显示为up状态。

备注:内容来源于stack exchange,提问作者daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 13:19:38