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

相关推荐
菜地里的小菜鸟2 天前
kubectl debug
k8s·kubectldebug
腾飞开源4 天前
01_K8s干货笔记之认识K8s
运维·笔记·云原生·容器·kubernetes·k8s·容器化部署
小匠石钧知6 天前
02_在多个RockyLinux10虚拟机上安装k8s集群
云原生·容器·kubernetes·k8s
ShirleyWang01212 天前
让headlamp控制台能访问
linux·服务器·python·k8s·k3s
spider_xcxc13 天前
K8s 部署学习笔记
docker·容器·kubernetes·云计算·k8s
ShirleyWang01213 天前
Day02 K3s NGF(Nginx Gateway Fabric)单 Worker 环境网关更新与故障处置 SOP
linux·服务器·python·k8s·k3s
ShirleyWang01213 天前
DAY01 K3s 私有化部署排障复盘与 SOP
linux·服务器·k8s·k3s·企业部署
XUHUOJUN16 天前
AKS 不是安装在 Windows Server 上,而是运行在 Windows Server 之上的 Azure 平台能力
windows·架构·k8s·azure local·azure stack
Geek-Chow16 天前
Connecting kubectl to a Private EKS Cluster Over an Internal Domain
kubernetes·k8s·aws