Topic

Kubernetes

Kubernetes guides from Tryssh: practical diagnostics, safe operating procedures, and production runbooks for server operators.

Use kubectl auth can-i to test the exact Kubernetes RBAC question

Kubectl auth can-i asks authorization for a verb, resource, namespace, and optional impersonated identity; it does not prove admission or application behavior.

The Tryssh team · July 29, 2026 →

Use kubectl debug without replacing the failing pod too early

Kubectl debug can add an ephemeral container, create a modified pod copy, or create a node debugging pod; each mode has a different evidence and privilege boundary.

The Tryssh team · July 29, 2026 →

Debug kubectl port-forward from API tunnel to pod listener

Kubectl port-forward asks the API path to carry a local TCP connection to a pod or selected resource; the target process must still listen on the forwarded pod port.

The Tryssh team · July 29, 2026 →

Cordon and drain a Kubernetes node without violating availability

Cordon blocks new scheduling while drain evicts eligible pods through the eviction API; controllers and disruption budgets determine replacement behavior.

The Tryssh team · July 29, 2026 →

Create a Kubernetes image pull secret without exposing registry credentials

An imagePullSecret stores registry authentication for the kubelet to fetch images; namespace, ServiceAccount attachment, and secret type determine whether it is used.

The Tryssh team · July 29, 2026 →

Design a PodDisruptionBudget around real serving capacity

A PodDisruptionBudget limits voluntary disruptions for selected healthy pods; it does not create replicas or protect against involuntary node failure.

The Tryssh team · July 29, 2026 →

Use Kubernetes priority and preemption without starving ordinary workloads

PriorityClass affects scheduling order and may allow a pending high-priority pod to preempt lower-priority pods when no feasible node has capacity.

The Tryssh team · July 29, 2026 →

Use kubectl rollout undo with image, config, and schema awareness

Rollout undo changes a workload controller to a previous recorded revision; it does not reverse database, external configuration, or irreversible side effects.

The Tryssh team · July 29, 2026 →

Resolve Kubernetes server-side apply conflicts by field owner

Server-side apply tracks which manager owns each field; a conflict means another manager currently owns a different value for the field being applied.

The Tryssh team · July 29, 2026 →

Spread Kubernetes pods across failure domains without making them unschedulable

Topology spread constraints compare matching pod counts across eligible domains and can reject scheduling or permit skew depending on whenUnsatisfiable.

The Tryssh team · July 29, 2026 →

Kubernetes ConfigMap changed but the pod did not: why

The search intent behind this problem is understanding environment, volume, and application reload behavior.

The Tryssh team · July 21, 2026 →

Kubernetes CrashLoopBackOff: debug the exit before changing the manifest

When finding why a container repeatedly starts and exits, speed comes from ordering the investigation—not from typing more commands.

The Tryssh team · July 21, 2026 →

Kubernetes DNS debugging without restarting CoreDNS first

The search intent behind this problem is isolating pod DNS, service discovery, upstream resolution, and policy.

The Tryssh team · July 21, 2026 →

Kubernetes HPA not scaling: metrics, requests, and stabilization

The search intent behind this problem is diagnosing an autoscaler that ignores visible load.

The Tryssh team · July 21, 2026 →

ImagePullBackOff: fix registry, tag, and credential failures safely

The search intent behind this problem is diagnosing why a Kubernetes node cannot retrieve an image.

The Tryssh team · July 21, 2026 →

Kubernetes Ingress 502 errors: trace ingress to pod

The search intent behind this problem is finding where an ingress-to-service-to-pod request fails.

The Tryssh team · July 21, 2026 →

Kubernetes Job keeps failing: retries, exit codes, and idempotency

The search intent behind this problem is debugging batch work without duplicating side effects.

The Tryssh team · July 21, 2026 →

kubectl logs --previous: the command that explains vanished crashes

The search intent behind this problem is retrieving evidence from the last terminated container.

The Tryssh team · July 21, 2026 →

Kubernetes NetworkPolicy debugging: prove which flow is denied

The search intent behind this problem is isolating ingress, egress, namespace selectors, and DNS.

The Tryssh team · July 21, 2026 →

Kubernetes Node NotReady: kubelet, runtime, network, or pressure?

The search intent behind this problem is determining why the control plane stopped trusting a worker.

The Tryssh team · July 21, 2026 →

Kubernetes OOMKilled: limit breach or node memory pressure?

The search intent behind this problem is distinguishing a container memory-limit kill from host-wide pressure.

The Tryssh team · July 21, 2026 →

Why Kubernetes evicts pods and what to inspect first

The search intent behind this problem is tracing eviction to memory, disk, PID, or ephemeral-storage pressure.

The Tryssh team · July 21, 2026 →

Kubernetes Pod stuck Pending: scheduler, quota, affinity, or storage?

The search intent behind this problem is separating scheduler rejection from image and startup failures.

The Tryssh team · July 21, 2026 →

Kubernetes Pod stuck Terminating: finalizers and graceful shutdown

The search intent behind this problem is finding why deletion cannot complete.

The Tryssh team · July 21, 2026 →