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. 继续观察日志看是否还有相关报错

相关推荐
fengkai454518 小时前
7、Kubernetes的Ingress&Network&Scheduler
运维·kubernetes·k8s·ingress·network·scheduler
mengge.cloud5 天前
1022小白入门教程(番外筑基)— nerdctl 容器基本功 + K8s 资源编写
linux·网络·云原生·容器·kubernetes·云计算·k8s
上火的金鱼妹5 天前
节点调度优化 + redis 现有问题优化
k8s
fengkai45456 天前
3、Kubernetes的Namespace&Contexts&Pod&YAML格式
运维·容器·kubernetes·k8s·namespace·yaml·pod
meijinmeng7 天前
Karpenter + Keda 让Kuberntes实现动态扩缩容机制方案指南
k8s
.冰块.8 天前
VMware+Ubuntu24.04 kubeadm 部署 K8s 1.30.2 三节点集群
运维·云原生·容器·kubernetes·k8s·容器编排
我不会起名字3229 天前
K8s Ingress 返回 502 但后端日志正常:4 类上游断连与排查链
kubernetes·k8s·ingress·502·keepalive
Eminem899 天前
18、k8s配置管理中心Secret
k8s
我不会起名字3229 天前
K8s 服务 DNS 解析偶发 5 秒超时:conntrack 与 ndots 的 3 个坑
kubernetes·k8s·dns·conntrack·coredns
KIDULT°11 天前
Kubeadm 部署 Kubernetes v1.30.2 实战:Ubuntu24.04 三节点集群 + 排坑记录
ubuntu·云原生·容器·kubernetes·k8s