Skip to main content
Cloud DevOps Solutions
Get a quote Talk to an engineer

Kubernetes Consulting

Kubernetes Runbooks and Operational Documentation That Get Used

We write Kubernetes runbooks as short, tested procedures for the failures your cluster will really have, linked from the alerts that trigger them, plus architecture and operations notes that explain how the platform is built. The aim is that a competent engineer can act correctly at 3am without the original builder.

Key takeaways

  • A runbook is a procedure for a specific alert or task, not a general essay about Kubernetes.
  • Each alert should link to one runbook, and each runbook should say how to confirm, mitigate and escalate.
  • Documentation lives next to the code in Git so it changes with the system.
  • We test runbooks by having someone who did not write them follow the steps.
  • Good docs reduce key-person risk, which is the real reason to buy this.

The cost of knowledge that lives in one head

Every platform has a person who knows why the ingress has that odd annotation, which node pool must never be scaled to zero, and what to do when the CI deploy hangs. That person is a risk. They go on holiday, change teams or leave, and the first real incident afterwards is slower and more dangerous than it should be.

Kubernetes runbooks and operational documentation turn that knowledge into something a team can share. It is the last item in our Kubernetes consulting scope, and it is also what lets you take over a platform we built, or hand day-to-day operation to our Managed DevOps team with confidence. For the wider context, see what managed DevOps means.

Runbooks versus documentation

They are different artefacts and need different writing.

RunbookOperational documentation
PurposeAct during a specific failure or taskUnderstand how the platform works
Reader stateStressed, short on timeCalm, learning
LengthOne screen or twoAs long as needed
TriggerAn alert or a scheduled taskOnboarding, design questions
StyleImperative steps and commandsExplanation and diagrams

Mixing them produces pages too long to follow at 3am and too thin to learn from.

What good looks like

  • Every paging alert links directly to a runbook.
  • Runbooks are consistent, so a reader always knows where to find the verification step.
  • Commands are exact and safe to copy, with notes on what they change.
  • The platform docs have a current architecture diagram, an access guide and a decision log.
  • Someone other than the author has followed each critical runbook successfully.
  • Pages have owners and a last-reviewed date.

The runbook template

We use one template for everything, in Markdown, so pages are quick to write and review:

# Runbook: Pods in CrashLoopBackOff

**Alert:** KubePodCrashLooping  |  **Severity:** warning  |  **Owner:** platform team
**Last reviewed:** 2026-10-08

## Impact
Which users or services are affected, and how urgent it is.

## Confirm
kubectl get pods -n <namespace> --field-selector=status.phase!=Running
kubectl describe pod <pod> -n <namespace>     # check Last State and Events
kubectl logs <pod> -n <namespace> --previous

## Mitigate
1. If a recent deploy caused it: roll back in Git (revert the commit) and let the controller sync.
2. If OOMKilled: raise the memory limit through a pull request, do not edit live.
3. If a dependency is down: follow the runbook for that dependency.

## Verify
Pods Ready, restart count stable for 15 minutes, error-rate panel back to normal.

## Escalate
Platform on-call, then the owning team (see service catalogue).

Placeholders in angle brackets are filled in by the reader at the time. The important design choices: confirm before acting, prefer reversible actions, and say where to escalate.

Which runbooks we write first

We prioritise by blast radius and frequency, taking input from your alerts and past incidents. A typical first set:

  1. Pods crash looping, pending, or stuck terminating.
  2. Node not ready, node pool at capacity, disk pressure.
  3. Ingress 502, 503 and 504 errors, and certificate expiry.
  4. Failed or stuck deployment, and GitOps sync failures.
  5. DNS resolution problems inside the cluster.
  6. Persistent volume attach failures.
  7. Cluster upgrade procedure and rollback options. See upgrade planning.
  8. Access requests and break-glass procedure, linked to RBAC design.
  9. Restoring from backup, aligned with your disaster recovery plan.

These tie back to alerts defined in cluster monitoring and to the response process in SRE and incident response.

Operational documentation

The platform guide answers different questions: what is deployed, why, and how do I change it? We typically produce:

  • Architecture overview with a diagram of network, identity and add-ons.
  • Environment map: clusters, accounts, owners and purposes.
  • Deployment path: how code gets to production, from commit to running pod.
  • Access guide: how people get permissions and how to request elevated rights.
  • Upgrade and maintenance calendar.
  • Decision log: short records of why major choices were made.
  • Onboarding checklist for new engineers, tested by having one follow it.

Diagrams written in Mermaid or similar text formats can live in the repository and be reviewed like code, which keeps them from drifting.

Testing documentation

Docs that nobody has tried are guesses. We test them in three ways:

  1. Cold read. An engineer who did not write the page follows it in a safe environment and notes every hesitation.
  2. Game day. We trigger a controlled failure (kill a node, expire a test certificate) and see whether the runbook leads to recovery.
  3. Post-incident update. After any real incident, the relevant page is corrected as part of closing it out.

Trade-offs and honest limits

  • Not everything needs a runbook. If a failure is rare, low impact and easy to diagnose, a short note beats a formal procedure.
  • Automation can replace some steps. If a runbook says “restart the pod”, consider whether a controller or alert-driven automation should do it. Keep the page to explain the automation.
  • Tools matter less than ownership. A plain Markdown folder with owners beats a polished wiki nobody updates.
  • Documentation is not a substitute for simplicity. If a procedure needs forty steps, the platform may need fixing.
  • Application-level docs belong with the teams who own those services.

Common failure modes

  • Runbooks that say “investigate the issue” without saying how.
  • Commands that only work on the author’s machine or in one namespace.
  • No link between alert and page, so nobody finds it.
  • Documentation written once at project end and never touched.
  • Secrets or credentials pasted into pages. Reference where they are stored instead.

Delivery and how to tell it works

You receive the runbook set and platform guide in your repository, linked from your alerts, with an owner table and a review schedule. We run a short walkthrough with your on-call engineers. It works when new on-call engineers resolve common incidents without calling the original builder, mean time to diagnose falls, and pages stay current because updating them is part of the incident process. If you want to see what a finished runbook looks like for your stack, get in touch.

References

How we deliver it

  1. 01

    Inventory what exists

    We collect current docs, wiki pages, alert rules and the knowledge held only in people's heads.

  2. 02

    List the failure scenarios

    From alerts, past incidents and the architecture, we pick the failures worth documenting first.

  3. 03

    Write the runbooks

    Each follows a consistent template with symptoms, checks, fixes, rollback and escalation.

  4. 04

    Document the platform

    Architecture, access, upgrade and onboarding notes are written for people new to the cluster.

  5. 05

    Test with a fresh pair of eyes

    An engineer who did not write the page follows it in a safe environment, and we fix what confuses them.

  6. 06

    Link and maintain

    Runbooks are linked from alerts, owned by named people and reviewed after incidents.

Tools and technologies

MarkdownGitMkDocsDocusaurusBackstage TechDocsPrometheusAlertmanagerGrafanakubectlPagerDutyConfluenceMermaid

Frequently asked questions

What should a Kubernetes runbook contain?
A title tied to an alert or task, the symptoms and impact, how to confirm the diagnosis, step-by-step mitigation with exact commands, how to verify recovery, how to roll back, and who to escalate to. Keep it short enough to follow under stress, and link out to background material instead of embedding it.
Which runbooks come first?
The ones attached to your paging alerts and the failures that have already happened: pods crash looping, nodes not ready, pending pods, ingress 5xx errors, expired certificates, full disks, and failed deployments. Upgrades and access requests are the other early candidates, because they are risky and infrequent.
Where should documentation live?
In Git alongside infrastructure code, rendered by a docs tool such as MkDocs or Backstage TechDocs, or kept in your wiki if that is where people look. The key is that changes are reviewed with the code and the alert links point to stable URLs. Stale wikis nobody owns are the main enemy.
Can runbooks be automated instead?
Some steps can, and should be: restarting a stuck job, scaling a deployment, or clearing a known condition. Automation of safe, repeatable fixes reduces toil. But runbooks still matter for judgement calls and for explaining what the automation does, so the two work together.
How do we keep documentation from going stale?
Give every page an owner, link it from the alert that uses it, and update it as part of incident follow-up. Review a sample on a schedule, and have newcomers follow them during onboarding. If a runbook is never opened, either the alert is wrong or the page is unnecessary.
Do you also document our application services?
Our focus is the platform: cluster operation, deployment path, and platform components. We can help structure service-level runbooks and templates, but application behaviour is best documented by the team that owns it, with us reviewing format and completeness.

Talk to an engineer about kubernetes runbooks

Book a free 30-minute call. We review your current setup and tell you honestly whether and how we can help.

Written by Saddique Khan, DevOps / SRE / Cloud Consultant Engineer. Last updated 2026-10-08.