使用kubesphere部署微服务的时候,节点的镜像不是最新的导致部署到旧版本问题

我使用kubesphere部署微服务的时候,发现有很多次,我修改了配置文件,但是部署完才发现部署的是旧版本。

然后我查看了该微服务部署在哪个节点上:

bash 复制代码
kubectl get pods --all-namespaces -o wide

例如 gulimall-gateway 这个服务:可以看到它被分配在了 k8snode2 节点上

于是我登录 k8snode2 节点上查看该镜像:

使用 docker inspect 命令查看该镜像详细信息:

bash 复制代码
# 查看镜像信息
docker inspect 镜像ID

再进去阿里云的容器镜像服务查看该镜像的SHA256哈希值, 发现使用的还是最旧的镜像:

于是我再去 k8snode3 节点上查看该镜像是否有拉取到最新的镜像:

发现 k8snode3 节点使用的是最新的镜像:

所以当该服务分配到了 k8snode3 的时候就可以获取到最新修改的内容的镜像,被分配到 k8snode2 节点的时候就使用的是旧的镜像。

在Kubernetes集群中,每个节点都有自己的容器运行时(如Docker),它们各自维护着本地的镜像缓存。当一个Pod被调度到某个节点上时,该节点会尝试从本地镜像缓存中加载对应的镜像。如果本地镜像缓存中没有所需的镜像或版本,节点会尝试从镜像仓库中拉取镜像。

解决办法:

  1. 在 k8snode2 节点上手动执行 docker pull 命令来拉取最新的镜像,然后重新部署相关的Pod。

  2. 在部署Pod时,使用 imagePullPolicy: Always 来强制每次都从镜像仓库拉取最新的镜像。

相关推荐
TunerT_TQ12 小时前
Valhalla 静态工程审阅 #004|MoonshotAI MoonEP 源码证据驱动评测【大厂开源基础设施特辑】
架构·github
半兽先生12 小时前
MinerU + LibreOffice 混合架构:搞定 .doc/.ppt 旧格式文档解析与切片
人工智能·python·机器学习·ai·架构
BerrySen17813 小时前
现代 C# 全栈与高性能编程实战指南:从 CLR 底层机制到 AI Agent 智能体架构
人工智能·架构·c#
circuitsosk13 小时前
不止于API调用:大模型推理加速与云原生服务化部署指南
python·云原生·agent·vllm·推理加速·大模型部署·ensorrt-llm
星期一研究室13 小时前
高颜值飞书封面、审美网站推荐、配色网站安利
微服务·产品·设计
摇滚侠13 小时前
云原生 Java 架构师的第一课 K8s+Docker+KubeSphere+DevOps 89-129
java·云原生·kubernetes
国科安芯13 小时前
四通道集成降压稳压器在低轨卫星星座分布式供电架构中的应用研究
分布式·架构·电源管理系统·低轨卫星星座·分布式供电·dc-dc降压稳压器·抗辐射加固
snow@li13 小时前
SpringBoot:RPC 接口与 Web 接口全景深度分析
spring boot·rpc·架构
byte轻骑兵14 小时前
BlueZ 5.x 整体架构总览:用户态 + 内核态分层设计核心逻辑
linux·架构·bluez·电脑蓝牙·嵌入式蓝牙
潘志宏_ZHPAN14 小时前
智能体互联网:原理、架构与开发实践—项目8:智能体互联网应用开发与创新实践
架构