【问题标题】:Why Kubernetes sets disk-pressure taint to my node?为什么 Kubernetes 会为我的节点设置磁盘压力污染?
【发布时间】:2021-02-13 22:20:10
【问题描述】:

如何找出设置污点的原因?

这是我从 kubelet 配置中删除的配置:

Kubelet 配置:

kubeletArguments:
  eviction-soft:
  - memory.available<100Mi
  - nodefs.available<100Mi
  - nodefs.inodesFree<1%
  - imagefs.available<100Mi
  - imagefs.inodesFree<1%
  eviction-soft-grace-period:
  - memory.available=1m30s
  - nodefs.available=1m30s
  - nodefs.inodesFree=1m30s
  - imagefs.available=1m30s
  - imagefs.inodesFree=1m30s
  eviction-hard:
  - memory.available<100Mi
  - nodefs.available<100Mi
  - nodefs.inodesFree<1%
  - imagefs.available<100Mi
  - imagefs.inodesFree<1%

dh -f 输出显示 20GiB 总空间中有 3.8GiB 可用。 (>100Mi 配置),因此既没有达到软驱逐阈值,也没有达到硬驱逐阈值。 df -i 表示只使用了 20% 的 inode。

我试图通过发出sudo journalctl -u kubelet -b | grep pressure 找出原因,但没有发现任何用处。也许有人可以建议更好的关键字?

【问题讨论】:

  • 这是唯一的文件系统吗?有多少个 inode 可用 (df -i)?请发布格式化代码而不是屏幕截图。屏幕截图会中断搜索、复制和粘贴,并且不易访问。
  • @BMitch,是的,这是唯一一个使用的 inode,也只有 20%。

标签: kubernetes kubelet


【解决方案1】:

已解决。 原来我使用错误的语法来配置阈值。这是设置这些的正确方法:

evictionSoft:
  memory.available: "100Mi"
  nodefs.available: "100Mi"
  nodefs.inodesFree: "1%"
  imagefs.available: "100Mi"
  imagefs.inodesFree: "1%"
evictionSoftGracePeriod:
  memory.available: 5m
  nodefs.available: 5m
  nodefs.inodesFree: 5m
  imagefs.available: 5m
  imagefs.inodesFree: 5m
evictionHard:
  memory.available: "100Mi"
  nodefs.available: "100Mi"
  nodefs.inodesFree: "1%"
  imagefs.available: "100Mi"
  imagefs.inodesFree: "1%"

(我的配置文件位于/var/lib/kubelet/config.yaml

然后需要重启kubelet: sudo systemctl restart kubelet

这里有一个有用的命令来获取 kubelet 日志以检查它是否正确启动:journalctl -u kubelet --since "1min ago"

【讨论】:

    猜你喜欢
    • 2018-11-26
    • 2021-06-16
    • 2019-12-18
    • 2020-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-25
    • 2019-03-31
    相关资源
    最近更新 更多