Skip to content

Runbook 01 — Kubernetes Cluster Health Assessment

Item Details
Runbook ID K8S-RB-01
Category Operations
Difficulty Intermediate
Estimated Time 45–60 Minutes
Environment Kubernetes Cluster
Platform Amazon EKS / Azure AKS / Google GKE / kind
Primary Role Kubernetes Security Engineer
Team Cloud Platform Operations
Escalation Kubernetes Platform Team

It is 08:30 AM.

You have just started your shift as a Kubernetes Security Engineer.

Several development teams are beginning work and production applications are expected to handle thousands of users throughout the day.

Before approving the platform for business operations, the Kubernetes Platform Team performs a daily health assessment.

Your responsibility is to verify that the cluster is healthy, stable and ready for production workloads.


Perform a complete cluster health assessment covering:

  • Cluster connectivity
  • Control Plane
  • Worker Nodes
  • Namespaces
  • System Pods
  • Application Pods
  • Networking
  • DNS
  • Storage
  • Workloads
  • Events
  • Resource utilisation
  • Security observations

The assessment is considered successful when:

  • All nodes are Ready
  • System Pods are healthy
  • Applications are Running
  • No critical events exist
  • Storage is healthy
  • DNS resolves correctly
  • Cluster networking functions correctly
  • No critical security observations remain unresolved

Cluster Access
Cluster Health
Nodes
Control Plane
System Pods
Applications
Networking
Storage
Security
Assessment Report

Confirm Kubernetes context.

Terminal window
kubectl config current-context

Expected:

kind-cloudnova-security-lab

Verify cluster access.

Terminal window
kubectl cluster-info

Expected:

Kubernetes control plane is running...

Display cluster information.

Terminal window
kubectl version

Review:

  • Client Version
  • Server Version

Terminal window
kubectl get nodes

Expected:

STATUS
Ready

Terminal window
kubectl get nodes -o wide

Review

  • Internal IP
  • Kubernetes Version
  • Runtime
  • OS
  • Age

Terminal window
kubectl describe node <NODE>

Review

  • Conditions
  • Memory Pressure
  • Disk Pressure
  • PID Pressure
  • Ready

Expected

Ready=True
MemoryPressure=False
DiskPressure=False

Check Status
Ready
Memory Pressure
Disk Pressure
PID Pressure

List Control Plane Pods.

Terminal window
kubectl get pods -n kube-system

Confirm

  • kube-apiserver

  • etcd

  • kube-controller-manager

  • kube-scheduler

Status should be

Running

Inspect one component.

Terminal window
kubectl describe pod kube-apiserver...

Review

  • Restarts
  • Events
  • Node
  • Health Probes

Review

Terminal window
kubectl get daemonsets -A

Verify

  • kube-proxy

  • CNI

  • CSI Driver

Running

Desired

Ready

Current

should match.


List

Terminal window
kubectl get namespaces

Review

  • Active

  • Terminating

Unexpected

Namespaces should be investigated.


List every Pod.

Terminal window
kubectl get pods -A

Look for

CrashLoopBackOff
Pending
ImagePullBackOff
ContainerCreating
Evicted
Unknown

Investigate unhealthy Pods.

Terminal window
kubectl describe pod <POD>

Review Events.


Terminal window
kubectl get deployments -A

Review

READY

AVAILABLE

UP-TO-DATE

Unavailable Deployments require investigation.


Terminal window
kubectl get rs -A

Review

Desired

Ready

Current


Terminal window
kubectl get statefulsets -A

Confirm

Ready

Replicas

Storage


Terminal window
kubectl get svc -A

Review

ClusterIP

NodePort

LoadBalancer

External IP

Unexpected public services should be reviewed.


Confirm CoreDNS.

Terminal window
kubectl get pods -n kube-system -l k8s-app=kube-dns

Test DNS.

Terminal window
kubectl exec dns-test-client -- nslookup kubernetes.default

Expected

Successful resolution.


List Storage Classes.

Terminal window
kubectl get storageclass

List PVs.

Terminal window
kubectl get pv

List PVCs.

Terminal window
kubectl get pvc -A

Review

Bound

Pending

Lost


Recent events.

Terminal window
kubectl get events -A --sort-by=.lastTimestamp

Review

Warnings

FailedScheduling

OOMKilled

FailedMount

ImagePullBackOff


Nodes

Terminal window
kubectl top nodes

Pods

Terminal window
kubectl top pods -A

High CPU

High Memory

Unexpected spikes

should be investigated.


Review

Terminal window
kubectl get endpoints -A

Verify

Services have healthy endpoints.


Review

Terminal window
kubectl get networkpolicies -A

Unexpected missing policies

should be documented.


Review

Terminal window
kubectl get serviceaccounts -A

Review

Terminal window
kubectl get clusterrolebindings

Review

Terminal window
kubectl get secrets -A

Confirm

No unnecessary Secrets.


Review

Terminal window
kubectl auth can-i --list

Confirm

Administrator permissions are expected.


Check

Terminal window
kubectl get ingress -A

Check

Terminal window
kubectl get endpointslices -A

Validate

Application

Service

Endpoints

Pod

communication.


Component Status Notes
API Server
etcd
Scheduler
Controller Manager
Nodes
kubelet
kube-proxy
CoreDNS
Storage
Applications
Services
Network
Security

Examples

  • API Server Down

  • etcd Down

  • All Nodes NotReady

  • CoreDNS Failure

Immediate escalation required.


Examples

  • Worker Node NotReady

  • Storage Failure

  • Multiple CrashLoopBackOff


Examples

  • One unhealthy application

  • High CPU

  • Pending Pods


Examples

  • Warning Events

  • Restart Count Increased

  • Old ReplicaSets


Severity Action
Critical Platform Team immediately
High Senior Kubernetes Engineer
Medium Investigate within shift
Low Record and monitor

Cluster Name:
Assessment Date:
Engineer:
Cluster Status:
Control Plane:
Worker Nodes:
Applications:
Storage:
Networking:
Security:
Critical Findings:
Recommendations:
Overall Status:
PASS / FAIL

Always:

  • Verify cluster before deployments
  • Review Events first
  • Check Nodes before Applications
  • Review Storage health
  • Validate DNS
  • Monitor Resource usage
  • Document findings
  • Escalate Critical issues immediately

Symptom Investigation
Node NotReady describe node
Pod Pending describe pod
CrashLoopBackOff logs + describe
DNS Failure CoreDNS
Storage Pending PVC
API Issues API Server
Scheduling Failure Scheduler
Network Issue Service + Endpoints

Capture:

  • Cluster Info
  • Node Status
  • System Pods
  • Resource Usage
  • Storage
  • Services
  • Events
  • Security Findings
  • Health Report

This runbook provides a repeatable operational procedure for validating the health of a Kubernetes cluster before business operations or maintenance activities.

Following this workflow ensures that engineers verify the Control Plane, Worker Nodes, workloads, networking, storage, DNS, and security posture in a consistent manner, enabling early detection of operational issues and reducing the risk of production incidents.