The process cannot write the root filesystem or change to UID zero, but can use its explicitly writable volume.

Security context defines constraints that need runtime evidence

A Kubernetes securityContext configures process identity and selected operating-system constraints. It can reduce what a compromised application is permitted to do, but it does not establish a complete security boundary by itself. Start with the operations the application actually needs, configure the appropriate fields, and test both a permitted operation and a forbidden one in the resulting container. ...

November 20, 2027 · 6 min · XB Field Notes
A controller that resizes a workload's replica count from a target metric.

The horizontal autoscaler scales on demand

The autoscaler derives desired replicas from current usage and a target, so the metric you choose matters more than the replica count you set. Metrics drive the count The HPA does not watch load directly; it polls a configured metric on a schedule, reads a current value against the target you set, and derives a desired replica count from the ratio. If the observed value runs twice the target it scales up, if half it scales down, and the result is recomputed on each reconciliation. That is why the metric choice, its aggregation (per pod or cluster-level), and the window matter, they define what the load even is. The desired count is then clamped by maxReplicas and minReplicas, and reconciled on the default --horizontal-pod-autoscaler-sync-period. To make scaling predictable you reason about the input metric, not about a single constant. ...

November 4, 2027 · 5 min · XB Field Notes
Changing a role label removes one ready Pod from a Service without creating a network access boundary.

Kubernetes labels define selection, not authorization

Labels are key-value metadata used to select Kubernetes objects. A Service selector, an operational query, and a workload controller can all rely on them, but each consumer has its own API and behavior. A label change can therefore alter group membership while leaving the underlying process healthy. Review labels as inputs to actual consumers rather than as purely descriptive stickers. ...

September 9, 2027 · 6 min · XB Field Notes
Two namespaces share node capacity but have separate object names, explicit API permissions and quota decisions.

Namespaces scope objects; policies establish other boundaries

A namespace scopes many Kubernetes objects within one cluster. Two teams can each create a ConfigMap named settings because those objects have different namespace-qualified identities. This organizational boundary is useful, but it does not automatically provide network isolation, a dedicated kernel, reserved node capacity, or complete tenant separation. Identify which additional policies enforce the boundaries your workload actually requires. ...

August 25, 2027 · 6 min · XB Field Notes
A stable name in front of a shifting set of pods.

Kubernetes Services give pods a stable home

You cannot memorise a Pod that will be recreated. A Service fixes an address in front of them, keeping callers stable while pods churn. One address in front of many A Deployment gives you multiple, interchangeable pods, and each one has its own IP that will soon be recreated. A Service is the stable home in front of them: you declare a name and a selector, and the platform hands the Service a virtual cluster IP plus a DNS name that stay fixed. Cluster DNS resolves that name, so components (other pods, an Ingress, a load balancer) refer to the Service, never to an individual pod address. That is the point of the abstraction, the address is durable even though everything standing behind it is disposable. ...

August 23, 2027 · 6 min · XB Field Notes
Startup calls run first; readiness and liveness begin only after the startup check succeeds.

Startup probes delay other probes until initialization succeeds

A startup probe gives a container a separate initialization contract. While that configured probe has not succeeded, Kubernetes does not execute the container’s liveness or readiness probes. This is stronger and more specific than ignoring some liveness failures during a grace period: those other checks have not begun. Once startup succeeds, ordinary ongoing health and readiness behavior takes over. ...

August 22, 2027 · 6 min · XB Field Notes
A subject denied direct Secret reads can create a Pod that receives one selected synthetic key.

Kubernetes Secrets require explicit access boundaries

A Kubernetes Secret is an API object for confidential values that workloads need. It gives operators a dedicated object type, consumption paths, and access-control targets. It does not make data unreadable to every other actor. Design the boundary around who can retrieve the object, create consumers, inspect their output, and administer the nodes that run them. ...

August 21, 2027 · 6 min · XB Field Notes
Three replacement Pods use one image while selecting blue, green and retained blue configuration.

ConfigMaps separate configuration from the image

A ConfigMap stores non-confidential configuration separately from an image. That lets a release change an environment-specific value without rebuilding the application artifact. The useful boundary is explicit: the image supplies code, while the workload definition identifies which configuration that code should consume. A release is therefore more than an image tag; its configuration reference is part of the behavior being deployed. ...

August 20, 2027 · 6 min · XB Field Notes