failed to get imageFs info: non-existent label “docker-images

1.k8s错误日志

bash 复制代码
ImageGCFailed: failed to get imageFs info: non-existent label "docker-images"

2.触发场景​​:

Kubelet 执行镜像垃圾回收(GC)时,无法通过文件系统标签 docker-images 自动识别容器镜像存储路径。

3.错误原因​​

  • 文件系统标签缺失:
    Kubernetes 默认期望容器运行时(如 Docker/containerd)的存储设备带有标签 docker-images,用于自动发现镜像存储路径。若标签未配置,kubelet 无法定位镜像存储路径。
  • 路径未显式指定:
    未在 kubelet 配置中手动指定 imageFs(镜像存储路径),导致依赖标签检测逻辑失败。
  • 默认存储路径修改:Docker: /var/lib/docker、containerd: /var/lib/containerd
  • 修改了Docker/containerd默认储存路径,我这边就是这样的原因,我将docker默认存储路径修改为:/data/docker_storage

4.完整解决方案​​

​​4.1. 修改 kubelet 配置文件​​

  • 新增配置,配置文件路径:/var/lib/kubelet/config.yaml
bash 复制代码
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
# 其他配置保持不变...

# --------- 新增以下配置 ---------
imageFs: /data/docker_storage  # 必须与 Docker 实际路径一致
imageGCHighThresholdPercent: 85  # 触发 GC 的磁盘使用率上限(默认 85%)
imageGCLowThresholdPercent: 80    # GC 后磁盘使用率目标值(默认 80%)
# -------------------------------

​​4.2. 重启 kubelet 服务​​

bash 复制代码
systemctl restart kubelet

​​4.3. 继续观察日志看是否还有相关报错

相关推荐
张洛闻Eren19 小时前
云原生k8s【第五课】:资源配额与限制
运维·数据库·云原生·kubernetes·k8s·github
.柒宇.19 小时前
运维常见面试题_07_配置管理与监控(Ansible · Prometheus · Alertmanager)· 容器编排(Kubernetes)
运维·k8s·ansible·prometheus
智码看视界19 小时前
Day58-K8s部署Spring Boot微服务:ConfigMap+Secret+HPA
spring boot·微服务·云原生·kubernetes·k8s·hpa
赴前尘2 天前
使用 Init Container + iptables 强制隔离 Pod 网络(Flannel 环境)
k8s
智码看视界3 天前
Day57-K8s核心概念速通:Pod、Deployment、Service与Ingress
云原生·容器·kubernetes·k8s·ingress·java后端·deployment
国医中兴3 天前
全文搜索的数据库选择:MySQL Fulltext与Elasticsearch的深度对比
微服务·云原生·容器·kubernetes·k8s
万里侯3 天前
GitOps 2026年演进趋势:从配置管理到环境即代码的范式转移及Pull vs Push模型的再思考
微服务·容器·k8s
张洛闻Eren7 天前
云原生k8s【第一课】: Docker 容器技术
运维·云原生·容器·k8s
KeepSeek11 天前
AI集群搭建k8s实战(docker)
k8s
要开心吖ZSH12 天前
测试环境 K8s 502 故障复盘:被 ClusterIP 表象误导,最终定位 kube-proxy 规则缺失
云原生·容器·kubernetes·k8s·502 bad gateway·kube-proxy