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

相关推荐
Eminem893 天前
14、k8s持久化存储
k8s
上火的金鱼妹5 天前
higress网关访问+ 模型访问的安全策略管控
k8s·higress·ai网关
weixin_444579306 天前
Containerd
容器·k8s
Dragon_qu·x7 天前
MongoDB 高可用集群部署
运维·数据库·mongodb·k8s·helm
此冬歌咏14 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
玉&心14 天前
通过Arthas在线诊断K8S中的内存及JVM等使用情况
docker·k8s·arthas
流烟默14 天前
K8s StatefulSet 详解:有状态应用的“身份证”与“固定住址”
k8s·statefulset
cg.family14 天前
K8S集群手动巡检
k8s
九皇叔叔15 天前
Kubernetes 资源管理方式详解:命令式与声明式管理
docker·容器·k8s
九皇叔叔16 天前
K8S 资源菜单
docker·容器·kubernetes·k8s