Kubernetes Revision and Reference Guide for Production Environments
This guide provides field-tested steps for diagnosing, repairing, and preventing Kubernetes issues in production environments.
This guide provides field-tested steps for diagnosing, repairing, and preventing Kubernetes issues in production environments.
Diagnosis and Repair Workflow
-
Check cluster health
- Run
kubectl get nodes --output wideto verify node status and resource availability. - Use
kubectl describe node <node-name>to inspect taints, tolerations, and pod capacity. - Look for
NotReadynodes or resource pressure (e.g., disk pressure, memory pressure).
- Run
-
Verify workloads
- List pods:
kubectl get pods --all-namespaces. - Inspect failing pods:
kubectl describe pod <pod-name> -n <namespace>. - Check events for errors:
kubectl describe pod <pod-name> -n <namespace> | grep -A 10 Events.
- List pods:
-
Inspect configurations
- Review deployments:
kubectl describe deployment <deployment-name> -n <namespace>. - Validate configmaps/secrets:
kubectl describe cm <configmap-name> -n <namespace>. - Test liveness/readiness probes by simulating requests against pod endpoints.
- Review deployments:
-
Review logs and metrics
- Fetch pod logs:
kubectl logs <pod-name> -n <namespace> --previous(for crashed containers). - Use
kubectl top nodeandkubectl top podto monitor resource usage. - Integrate with Prometheus/Grafana for historical metrics and alerts.
- Fetch pod logs:
-
Rollback or fix
- Rollback deployments:
kubectl rollout undo deployment <deployment-name> -n <namespace>. - Apply corrected manifests:
kubectl apply -f <updated-manifest.yaml>.
- Rollback deployments:
Prevention and Maintenance Policy
Example policy for production clusters:
- Daily:
- Monitor node resource usage (
kubectl top node). - Check for evicted pods (
kubectl get pods --all-namespaces | grep Evicted).
- Monitor node resource usage (
- Weekly:
- Audit RBAC roles/bindings (
kubectl get roles,rolebindings,clusterroles,clusterrolebindings --all-namespaces). - Review ingress and service configurations (
kubectl get ing,svc --all-namespaces).
- Audit RBAC roles/bindings (
- Monthly:
- Perform disaster recovery drills (e.g., delete a node to test auto-recovery).
- Test Velero backups for cluster state and persistent volumes.
- Quarterly:
- Upgrade Kubernetes version (plan for at least one minor version behind latest).
- Review security policies (e.g., PodSecurityPolicies, network policies).
Tooling
- kubectl: Core CLI for cluster interaction. Use
kubectl api-resourcesto list available resources. - k9s: Terminal UI for real-time monitoring and quick actions (e.g.,
k9s get all). - kubeaudit: Scan for security misconfigurations:
kubeaudit --namespace <namespace>. - Prometheus/Grafana: Monitor cluster health and set alerts for critical metrics (e.g., node disk usage).
- OpenShift CLI (oc): For OpenShift environments, use
oc get projects,oc describe buildconfig, etc.
Tradeoffs and Caveats
- Automated rollouts vs. manual approval: Canary deployments reduce risk but add complexity. Use Argo Rollouts for progressive delivery, but ensure manual approval gates for critical services.
- Alpha features: Avoid enabling alpha features (e.g.,
KubernetesAlphaAPIs) in production; they may destabilize the cluster. - Managed services: Tools like EKS/GKE reduce operational overhead but limit customization (e.g., node auto-repair may conflict with custom node configurations).
Troubleshooting Common Failure Points
-
CrashLoopBackoff:
- Check pod logs:
kubectl logs <pod-name> -n <namespace> --previous. - Verify application health checks (liveness/readiness probes).
- Ensure dependencies (e.g., databases) are reachable.
- Check pod logs:
-
Image Pull Errors:
- Confirm image name and tag in deployment manifest.
- Check image pull policy (
Always,IfNotPresent,Never). - Test registry access:
docker pull <image-name>from a node.
-
Node Resource Pressure:
- Use
kubectl describe node <node-name>to checkAllocatableresources. - Scale horizontally with HPA or VPA, or increase node pool size.
- Use
Source thread: Kubernetes revision/reference guide?

Share this post
Twitter
Google+
Facebook
Reddit
LinkedIn
StumbleUpon
Pinterest
Email