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

RHEL下无Root模式创建Kind集群失败(已配置Delegate=yes)

无Root模式运行Kind失败的排查与解决(RHEL 8.6环境)

问题现象

执行kind create cluster时触发错误:

enabling experimental podman provider
ERROR: failed to create cluster: running kind with rootless provider requires setting systemd property "Delegate=yes"

使用sudo kind create cluster可正常创建集群,但无Root模式始终报错。同时systemd用户服务存在加载异常:

systemctl --user status user@$(id -u).service

输出提示:Service has no ExecStart=, ExecStop=, or SuccessAction=. Refusing,但systemctl --user show user@$(id -u).service | grep Delegate显示Delegate=yes已配置。

环境信息

  • OS:RHEL 8.6 (linux/amd64)
  • Podman版本:4.0.2
  • Kind版本:0.20.0
  • systemd版本:239 (239-78.el8)
  • 主目录挂载于NFS,已修改Podman的storage.conf中runroot和graphroot路径至本地磁盘
  • 已确认cgroup2启用并正确挂载,Podman无Root模式已激活

解决步骤

1. 修复systemd用户会话服务异常

由于systemd用户服务目录位于NFS挂载卷,导致会话服务无法正常初始化。执行以下操作重置用户会话:

loginctl terminate-user $(whoami)
logout

重新登录后,检查用户服务状态确认异常消除:

systemctl --user status

2. 确保Delegate=yes配置全局+用户级双重生效

除已配置的/etc/systemd/system/user@.service.d/delegate.conf,在用户级别添加配置以规避NFS权限问题:
创建~/.config/systemd/user/user@.service.d/delegate.conf文件,写入:

[Service]
Delegate=yes

重新加载用户级systemd配置:

systemctl --user daemon-reload

3. 验证cgroup控制器权限与Podman存储配置

  • 检查当前用户的cgroup控制器权限,确保包含必要资源:
    cat /sys/fs/cgroup/user.slice/user-$(id -u).slice/cgroup.controllers
    
    需输出包含cpuset cpu io memory hugetlb pids。
  • 确认Podman的storage.conf中runroot和graphroot指向本地磁盘(示例路径):
    [storage]
    runroot = "/var/tmp/podman-run-$(id -u)"
    graphroot = "/var/tmp/podman-storage-$(id -u)"
    
    修改后重置Podman环境:
    podman system reset
    podman system restart
    

4. 重新创建Kind集群

先验证环境状态:

kind get clusters
podman info | grep -i rootless

再执行集群创建命令:

kind create cluster

内容的提问来源于stack exchange,提问作者Walidou

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 22:46:27