k3s+containerd部署本地镜像遇ErrImageNeverPull问题解决
K3s(containerd环境)本地镜像部署触发ErrImageNeverPull错误
问题场景
基于K3s(使用containerd而非Docker)部署应用时,本地已存在目标镜像,但Pod部署过程中出现ErrImageNeverPull错误,提示镜像不存在。
本地镜像列表
docker.io/kubernetesui/metrics-scraper v1.0.8 115053965e86b 19.7MB docker.io/library/laravel-example-project-fpm latest ac83c8e9c86fd 378MB docker.io/library/laravel-example-project-nginx latest 6403f5d7120c6 24.2MB rn-manager v1.1.0 6a6ea3dbf71b9 116MB docker.io/monachus/rancher-demo latest 65053fcc5f37a 7.01MB docker.io/rancher/klipper-lb v0.3.5 dbd43b6716a08 3.33MB docker.io/rancher/local-path-provisioner v0.0.21 fb9b574e03c34 11.4MB docker.io/rancher/mirrored-coredns-coredns 1.9.1 99376d8f35e0a 14.1MB docker.io/rancher/mirrored-library-traefik 2.6.2 72463d8000a35 30.3MB docker.io/rancher/mirrored-metrics-server v0.5.2 f73640fb50619 26MB docker.io/rancher/mirrored-pause 3.6 6270bb605e12e 301kB root@u-server-master:~#
Pod错误信息
执行kubectl describe pod laravel-example-project-5597cdcc97-bv6fs得到的事件信息:
Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 45m default-scheduler Successfully assigned default/laravel-example-project-5597cdcc97-bv6fs to zakham Warning Failed 42m (x12 over 45m) kubelet Error: ErrImageNeverPull Warning ErrImageNeverPull 4m57s (x187 over 45m) kubelet Container image "laravel-example-project-fpm:latest" is not present with pull policy of Never
执行kubectl get pods得到的Pod状态:
kubectl get pods laravel-example-project-5597cdcc97-26scj........ 0/2...........Init:ErrImageNeverPull.......0................ 26m
解决方法
containerd环境下本地镜像无需拉取,经测试Pod调度到主节点可正常运行,因此在Deployment配置中添加nodeName字段指定主节点即可解决问题。
内容的提问来源于stack exchange,提问作者Yassine Chilali
相关产品推荐
相关产品推荐

