Skip to content
Engineering Thoughts
ArticlesTopicsSeriesLearningResources
Search⌘ K

Engineering Thoughts

Field notes for engineers building systems that have to work.

AboutArchiveRSSGitHub

© 2026 Sibilesh. Built with care and open tools.

kubernetesbeginner1 min readJun 21, 2026

The Kubernetes Signals I Check First

A repeatable debugging sequence for separating scheduling, networking, application, and capacity failures in Kubernetes.

SBy Sibilesh

On this page

  1. The five-minute pass
  2. Follow the ownership chain
  3. Preserve evidence

Debugging Kubernetes becomes easier when you ask the control plane questions in a fixed order. Start with desired state, move to events, and inspect logs only after you know which container matters.

The five-minute pass

Fast cluster triage
kubectl get deploy,pod -n payments -o wide
kubectl get events -n payments --sort-by=.lastTimestamp
kubectl describe pod -n payments "$POD"
kubectl logs -n payments "$POD" --all-containers --prefix
Read events before logs

Events expose failed scheduling, image pulls, mounts, and probes—the classes of failure an application log cannot explain.

Follow the ownership chain

flowchart TD
  Deployment --> ReplicaSet
  ReplicaSet --> Pod
  Pod --> Container
  Service --> Pod
  Ingress --> Service

Check whether selectors and labels connect the chain you intended. Many apparent network failures are actually empty service endpoints.

Preserve evidence

Before restarting a failing workload, collect the pod description, previous container logs, events, and the deployed manifest. Recovery without evidence guarantees a longer incident next time.

Related tools

YAML validator ↗

Keep exploring

Related field notes.

devops
devopsintermediate2 min

Building GitLab Pipelines That Fail Well

A practical system for fast, observable CI/CD pipelines that recover gracefully when infrastructure and dependencies misbehave.

Jul 12, 2026
go
gointermediate1 min

Structured Concurrency in Go with Context

Use cancellation, ownership, and bounded parallelism to build Go services that shut down cleanly and remain understandable.

Jul 5, 2026

Continue the discussion

Comments are enabled at deployment.

Configure the public Giscus environment variables to connect GitHub Discussions.