当前位置: 首页 > news >正文

[运维]5.镜像本地存在但仍然从网络拉取的问题

在deployment.yaml中设置image 为k8s.io/tomcat:8.5-jdk8,且这个镜像在本地存在:

[root@node1 tmp]# ctr -n k8s.io images list | grep tomcat
docker.io/kubeguide/tomcat-app:v1                                                                                                                                            application/vnd.docker.distribution.manifest.v2+json      sha256:f2c465e01647be9a35c914205dc58912130e915426559cb60a7d12e9f4cc455e 352.5 MiB linux/amd64                                                                  io.cri-                               
k8s.io/tomcat:8.5-jdk8                                                                                                                                                       application/vnd.docker.distribution.manifest.v2+json      sha256:67f6f1f8e51fa8fdceb056c5b889b887ab8e00094e33fa981e35344511e937aa 151.6 MiB linux/amd64                                                                  io.cri-containerd.image=manag    

但是在创建pod的过程中仍然从远处拉取,造成pod启动失败:

Events:Type     Reason     Age               From               Message----     ------     ----              ----               -------Normal   Scheduled  30s               default-scheduler  Successfully assigned default/tomcat-749d98df56-hmlt9 to node1Normal   Pulled     2s (x5 over 29s)  kubelet            Container image "k8s.io/tomcat:8.5-jdk8" already present on machineWarning  Failed     2s (x5 over 29s)  kubelet            Error: failed to get image from containerd "sha256:6113f55245f6bb372e59de99ee3e9d848eef0bf64a07fcaf80e015f60ae8db08": image "docker.io/library/tomcat:8.5-jdk8": not found

解决方法:
发现这个问题和K8S的工作方式有关,Kubernetes 默认使用 docker.io/library/ 作为镜像仓库的前缀。如果您 DeploymentPodimage 中只写了 tomcat:8.5-jdk8docker.io/tomcat:8.5-jdk8,Kubernetes 实际上会自动补全为 docker.io/library/tomcat:8.5-jdk8。

所以将本地镜像的名称通过tag改为docker.io/library/tomcat:8.5-jdk8:

ctr -n k8s.io images tag docker.io/tomcat:8.5-jdk8 docker.io/library/tomcat:8.5-jdk8

并将deployment中的镜像名称改为以上名称,则pod创建成功。

 


http://www.mrgr.cn/news/44929.html

相关文章:

  • 【Linux】自主shell编写
  • Nginx06-静态资源部署
  • 链表排序
  • 大语言模型(LLM)综述
  • 代码随想录--栈与队列--用栈实现队列
  • 【重学 MySQL】六十、空间类型
  • 永洪BI:企业数字化转型的得力助手
  • 等保测评的转型,对于提升我国网络空间的安全防护水平具有重要意义
  • TryHackMe 第7天 | Web Fundamentals (二)
  • Leecode刷题之路第12天之整数转罗马数字
  • 《重生到现代之从零开始的数据结构生活》—— 复杂度
  • Ollama接口系统详解
  • Mysql(六) --- 聚合函数,分组和联合查询
  • C++ 多线程
  • 千益畅行:团队游相关问题解答
  • 【算法】双指针(续)
  • 基于深度学习的多焦点图像融合系统【数据集+深度学习模型+源码+PyQt5界面】
  • 算法【从递归入手二维动态规划】
  • QT调用libusb库stm32407上下位机
  • 2024年9月底读书总结