Kubernetes
August 30, 2022

Node Not Ready. PLEG is not healthy

Одной из причин перехода ноды в состояние Not Ready - это недоступность рантайма. О чём может говорить примерно такая ошибка:

Aug 26 00:02:19 cl17fubma5s4j4oq6d58-uqij kubelet[321228]: I0826 00:02:19.608621 321228 setters.go:577] "Node became not ready" node="cl17fubma5s4j4oq6d58-uqij" condition={Type:Ready Status:False LastHeartbeatTime:2022-08-26 00:02:19.608510127 +0000 UTC m=+1702734.297519649 LastTransitionTime:2022-08-26 00:02:19.608510127 +0000 UTC m=+1702734.297519649 Reason:KubeletNotReady Message:PLEG is not healthy: pleg was last seen active 3m3.638572591s ago; threshold is 3m0s}

PLEG is not healthy. Её можно заметить, посмотрев логи kubelet.

Вот здесь есть подробно про эту ошибку:
https://developers.redhat.com/blog/2019/11/13/pod-lifecycle-event-generator-understanding-the-pleg-is-not-healthy-issue-in-kubernetes

Причина такого поведения может крыться в большом количестве ООМ на данной ноде. Это можно проверить посмотрев выхлоп серийной консоли:

yc compute instance get-serial-port-output instance_id

Там может быть что-то похожее:

[2091786.460588] Memory cgroup out of memory: Killed process 994095 (yc-disk-csi-nod) total-vm:782280kB, anon-rss:95888kB, file-rss:8560kB, shmem-rss:0kB, UID:0 pgtables:300kB oom_score_adj:-997
[2092595.240114] Memory cgroup out of memory: Killed process 1003494 (yc-disk-csi-nod) total-vm:782536kB, anon-rss:95640kB, file-rss:8560kB, shmem-rss:0kB, UID:0 pgtables:304kB oom_score_adj:-997
[2093512.106440] Memory cgroup out of memory: Killed process 1011639 (yc-disk-csi-nod) total-vm:782536kB, anon-rss:96156kB, file-rss:8560kB, shmem-rss:0kB, UID:0 pgtables:300kB oom_score_adj:-997
[2094798.570420] Memory cgroup out of memory: Killed process 1026480 (yc-disk-csi-nod) total-vm:782856kB, anon-rss:96280kB, file-rss:8560kB, shmem-rss:0kB, UID:0 pgtables:296kB oom_score_adj:-997
[2096254.727090] Memory cgroup out of memory: Killed process 1041175 (yc-disk-csi-nod) total-vm:782280kB, anon-rss:96372kB, file-rss:8560kB, shmem-rss:0kB, UID:0 pgtables:296kB oom_score_adj:-997

Проблема воспроизводится при использовании рантайма Docker.

Варианты решения проблемы:

  1. Можно расселить поды с этой ноды, чтобы убрать ООМы.
  2. Добавить этой ноде памяти.
  3. В качестве временного решения можно предложить перезагрузить ВМ или рантайм. systemctl restart docker.
    Но если не убрать проблему с ООМ, этого надолго не хватит.