English version

KubeNodePressure: что делать при алерте

Правило алерта

alert: KubeNodePressure
expr: kube_node_status_condition{condition=~"MemoryPressure|DiskPressure|PIDPressure",status="true"} == 1
for: 5m
severity: warning

Сообщение алерта: На узле {{ $labels.node }} условие {{ $labels.condition }}

Что значит

Узел сообщает одно из состояний нехватки ресурсов: MemoryPressure, DiskPressure или PIDPressure (имя в метке condition), 5 минут. Kubelet может начать вытеснять Pod.

Частые причины

Нехватка памяти (много Pod без лимитов), заполненный диск (образы, логи, emptyDir), слишком много процессов.

Диагностика

kubectl describe node <узел>                    # Conditions
kubectl top node <узел>
ssh <узел> 'df -h /var/lib/kubelet /var/lib/containerd; free -h'
ssh <узел> 'crictl images | head; crictl ps | wc -l'
kubectl get pods -A --field-selector spec.nodeName=<узел> | grep -i evicted

Как исправить

Для DiskPressure — очистить образы и логи (crictl rmi --prune), расширить диск. Для MemoryPressure — выставить requests/limits, перераспределить Pod. Для PIDPressure — найти процесс, плодящий потоки.

Когда можно заглушить

Кратковременный пик при известной причине; при повторяющемся — нет.

Похожие алерты

Весь набор из 44 протестированных правил + Alertmanager → Telegram: 790 ₽
Открыть в Telegram · Бесплатный набор Monitoring Lite · Все алерты runbook