sre-k8s-node-health

Diagnose Kubernetes node health conditions using read-only kubectl commands.

Updated Apr 5, 2026
One-click install
npx skills add https://github.com/schoolofdevops/401 --skill sre-k8s-node-health-schoolofdevops
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sre-k8s-node-health
Source: https://github.com/schoolofdevops/401/tree/main/skills/sre-k8s-node-health
Command: npx skills add https://github.com/schoolofdevops/401 --skill sre-k8s-node-health-schoolofdevops

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When a Kubernetes node enters NotReady, MemoryPressure, DiskPressure, or PIDPressure, on-call engineers need a safe, read-only diagnostic procedure that gathers the right evidence without risking destructive actions like drain or cordon. ## Core Features & Use Cases - Node Condition Diagnosis: Collects node inventory JSON, describe output, resource usage, and per-node pod lists via four deterministic kubectl steps. - Pressure Analysis: Interprets Ready, MemoryPressure, DiskPressure, and PIDPressure conditions against allocatable capacity and pod resource requests. - Safe Escalation: Enforces read-only operation with explicit NEVER DO rules and structured escalation handoffs including full command outputs. - Use Case: A node shows MemoryPressure and pods keep getting evicted. Run this skill to gather node conditions, identify the highest-memory pods as eviction candidates, and escalate with complete evidence—without executing any mutating commands. ## Quick Start Ask the AI to diagnose why a Kubernetes node is in NotReady or MemoryPressure state using read-only kubectl commands.

Frequently Asked Questions about sre-k8s-node-health

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I diagnose a Kubernetes node in NotReady state?

Run kubectl get nodes -o json to inspect status.conditions, then kubectl describe node to review the Events section for kubelet failures. Check whether the Ready condition's message indicates a kubelet outage, network partition, or node OOM before escalating.

How to troubleshoot MemoryPressure on a Kubernetes node?

Check the node's MemoryPressure condition, then compare allocatable.memory from kubectl describe node against the summed memory requests of all pods on that node. Identify the highest-memory pods as eviction candidates and escalate rather than deleting pods directly.

Does this skill support offline or mock cluster testing?

Yes, setting HERMES_LAB_MODE=mock switches to a mock-kubectl wrapper that reads pre-baked node JSON fixtures instead of a live cluster. Add the course/infrastructure/wrappers/ directory to PATH to enable mock mode.

Can I use this skill to fix a pressured node automatically?

No, this skill is strictly read-only diagnosis. It never executes kubectl drain, cordon, delete node, or SSH into nodes; remediation actions require explicit approval from an on-call engineer through a separate procedure.

What kubectl permissions are needed for node health diagnosis?

You need read-only cluster access: get and list on nodes, get and list on pods across all namespaces, and describe node. No write or delete permissions are required since the skill performs no mutations.