天天看點

更改kubelet磁盤檢查

nodefs:儲存 kubelet 的卷和守護程序日志等。

imagefs:在容器運作時,用于儲存鏡像以及可寫入層。

有 Imagefs

如果 nodefs 觸發了驅逐,Kubelet 會用 nodefs 的使用對 Pod 進行排序 – Pod 中所有容器的本地卷和日志。

如果 imagefs 觸發了驅逐,Kubelet 會根據 Pod 中所有容器的消耗的可寫入層進行排序。

沒有 Imagefs

如果 nodefs 觸發了驅逐,Kubelet 會對各個 Pod 的所有容器的總體磁盤消耗進行排序 —— 本地卷 + 日志 + 寫入層。

在某些場景下,驅逐 Pod 可能隻回收了很少的資源。這就導緻了 kubelet 反複觸發驅逐門檻值。另外回收資源例如磁盤資源,是需要消耗時間的。

要緩和這種狀況,Kubelet 能夠對每種資源定義 minimum-reclaim。kubelet 一旦發現了資源壓力,就會試着回收至少 minimum-reclaim 的資源,使得資源消耗量回到期望範圍。

例如下面的配置:

–eviction-hard=memory.available<500Mi,nodefs.available<1Gi,imagefs.available<100Gi

–eviction-minimum-reclaim=“memory.available=0Mi,nodefs.available=500Mi,imagefs.available=2Gi”`

如果 memory.available 被觸發,Kubelet 會啟動回收,讓 memory.available 至少有 500Mi。

如果是 nodefs.available,Kubelet 就要想法子讓 nodefs.available 回到至少 1.5Gi。

而對于 imagefs.available, kubelet 就要回收到最少 102Gi。

預設情況下,所有資源的 eviction-minimum-reclaim 為 0。