Resolved. It turned out I used wrong syntax to configure thresholds. Here is correct way to set those:
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%"
(config file is located at /var/lib/kubelet/config.yaml
in my case)
Then kubelet needs to be restarted:
sudo systemctl restart kubelet
And here is a useful command to get kubelet logs to check if it started correctly: journalctl -u kubelet --since "1min ago"
CLICK HERE to find out more related problems solutions.