containerd 拉取k8s.gcr.io/pause镜像i/o timeout
由于k8s.gcr.io 需要连外网才可以拉取到,导致 k8s 的基础容器 pause 经常无法获取。k8s docker 可使用代理服拉取,再利用 docker tag 解决问题
docker pull mirrorgooglecontainers/pause:3.1 docker tag mirrorgooglecontainers/pause:3.1 k8s.gcr.io/pause:3.1
但是我们k8s集群中使用的CRI是containerd。所以只能通过 docker tag 镜像,再使用 ctr 导入镜像.
docker save k8s.gcr.io/pause -o pause.tar
ctr -n k8s.io images import pause.tar
containerd和docker在导入镜像这块是存在一切区别的:
containerd 命令行工具ctr特性不如 docker 丰富,如 ctr 1.2 并没有 tag 子命令,直到 1.3 才有
为支持多租户隔离,containerd 有 namespace 概念,不同 namespace 下的 image、container 均不同,直接使用 ctr 操作时,会使用 default namespace
由于我刚开始导入镜像的时候,没有指定namespace,pause导入到了default空间,导致pod一直处在ContainerCreating状态。
后来在网上找了很多资料才知道containerd有namespace这回事,才知道了 k8s 只会使用 k8s.io namespace 中镜像。于是再往 k8s.io 导入镜像,containerd worker 终于能正常被调度了
$ ctr namespace ls NAME LABELS default k8s.io $ ctr -n k8s.io images import pause.tar
-----------------------------------
©著作权归作者所有:来自51CTO博客作者张哲溪灬的原创作品,请联系作者获取转载授权,否则将追究法律责任
containerd 拉取k8s.gcr.io/pause镜像i/o timeout
https://blog.51cto.com/u_12790562/5223807
本文来自博客园,作者:xiao智,转载请注明原文链接:https://www.cnblogs.com/yuwen01/p/16834285.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具