非sudo执行podman play kube失败,sudo执行正常求助
解决Podman非sudo运行
podman play kube报pause镜像找不到的问题 问题核心
Podman的普通用户环境与root用户环境完全隔离,root拉取的k8s.gcr.io/pause:3.5镜像不会共享给普通用户,且普通用户可能因网络或配置问题无法自动拉取该镜像,导致所有Pod定义执行失败。
解决方案
1. 手动为普通用户拉取pause镜像
在非sudo环境下直接执行拉取命令:
podman pull k8s.gcr.io/pause:3.5
如果因网络无法访问k8s.gcr.io,可使用国内镜像源替代,拉取后重命名适配kube文件:
podman pull registry.aliyuncs.com/google_containers/pause:3.5 podman tag registry.aliyuncs.com/google_containers/pause:3.5 k8s.gcr.io/pause:3.5
2. 修复普通用户的Podman存储权限
检查当前用户对Podman存储目录的权限:
ls -ld ~/.local/share/containers/
若权限异常,执行以下命令修复:
chown -R $USER:$USER ~/.local/share/containers/
3. 验证修复效果
完成上述操作后,重新执行kube文件测试:
podman play kube your-kube-file.yaml
内容的提问来源于stack exchange,提问作者Moe
相关产品推荐
相关产品推荐

