Skip to content
cccskills
FreePublished on GitHub

k8s-troubleshoot

Debug Kubernetes pods, nodes, and workloads. Use when pods are failing, containers crash, nodes are unhealthy, or users mention debugging, troubleshooting, or diagnosing Kubernetes issues.

The English summary is being prepared. Showing the original description.

Works withKubernetes
See how to install

Files included (5)

  • SKILL.md5.4 KB
  • references/COMMON-ERRORS.md3.8 KB
  • references/DECISION-TREE.md4.5 KB
  • scripts/diagnose-pod.py4.9 KB
  • scripts/health-check.sh2.8 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Kubernetes Troubleshooting

Expert debugging and diagnostics for Kubernetes clusters using kubectl-mcp-server tools.

When to Apply

Use this skill when:

  • User mentions: "debug", "troubleshoot", "diagnose", "failing", "crash", "not starting", "broken"
  • Pod states: Pending, CrashLoopBackOff, ImagePullBackOff, OOMKilled, Error, Unknown
  • Node issues: NotReady, MemoryPressure, DiskPressure, NetworkUnavailable, PIDPressure
  • Keywords: "logs", "events", "describe", "why isn't working", "stuck", "not responding"

Priority Rules

PriorityRuleImpactTools
1Check pod status firstCRITICALget_pods, describe_pod
2View recent eventsCRITICALget_events
3Inspect logs (including previous)HIGHget_pod_logs
4Check resource metricsHIGHget_pod_metrics
5Verify endpointsMEDIUMget_endpoints
6Review network policiesMEDIUMget_network_policies
7Examine node statusLOWget_nodes, describe_node

Quick Reference

SymptomFirst ToolNext Steps
Pod Pendingdescribe_podCheck events, node capacity, resource requests
CrashLoopBackOffget_pod_logs(previous=True)Check exit code, resources, liveness probes
ImagePullBackOffdescribe_podVerify image name, registry auth, network
OOMKilledget_pod_metricsIncrease memory limits, check for memory leaks
ContainerCreatingdescribe_podCheck PVC binding, secrets, configmaps
Terminating (stuck)describe_podCheck finalizers, PDBs, preStop hooks

Diagnostic Workflows

Pod Not Starting

1. get_pods(namespace, label_selector) - Get pod status
2. describe_pod(name, namespace) - See events and conditions
3. get_events(namespace, field_selector="involvedObject.name=<pod>") - Check events
4. get_pod_logs(name, namespace, previous=True) - For crash loops

Common Pod States

StateLikely CauseTools to Use
PendingScheduling issuesdescribe_pod, get_nodes, get_events
ImagePullBackOffRegistry/authdescribe_pod, check image name
CrashLoopBackOffApp crashget_pod_logs(previous=True)
OOMKilledMemory limitget_pod_metrics, adjust limits
ContainerCreatingVolume/networkdescribe_pod, get_pvc

Node Issues

1. get_nodes() - List nodes and status
2. describe_node(name) - See conditions and capacity
3. Check: Ready, MemoryPressure, DiskPressure, PIDPressure
4. node_logs_tool(name, "kubelet") - Kubelet logs

Deep Debugging Workflows

CrashLoopBackOff Investigation

1. get_pod_logs(name, namespace, previous=True) - See why it crashed
2. describe_pod(name, namespace) - Check resource limits, probes
3. get_pod_metrics(name, namespace) - Memory/CPU at crash time
4. If OOM: compare requests/limits to actual usage
5. If app error: check logs for stack trace

Networking Issues

1. get_services(namespace) - Verify service exists
2. get_endpoints(namespace) - Check endpoint backends
3. If empty endpoints: pods don't match selector
4. get_network_policies(namespace) - Check traffic rules
5. For Cilium: cilium_endpoints_list_tool(), hubble_flows_query_tool()

Storage Problems

1. get_pvc(namespace) - Check PVC status
2. describe_pvc(name, namespace) - See binding issues
3. get_storage_classes() - Verify provisioner exists
4. If Pending: check storage class, access modes

DNS Resolution

1. kubectl_exec(pod, namespace, "nslookup kubernetes.default") - Test DNS
2. If fails: check coredns pods in kube-system
3. get_pods(namespace="kube-system", label_selector="k8s-app=kube-dns")
4. get_pod_logs(name="coredns-*", namespace="kube-system")

Multi-Cluster Debugging

All tools support context parameter for targeting different clusters:

get_pods(namespace="kube-system", context="production-cluster")
get_events(namespace="default", context="staging-cluster")
describe_pod(name="myapp-xyz", namespace="prod", context="prod-east")

Diagnostic Scripts

For comprehensive diagnostics, run the bundled scripts:

Decision Tree

See references/DECISION-TREE.md for visual troubleshooting flowcharts.

Common Errors Reference

See references/COMMON-ERRORS.md for error message explanations and fixes.

Related Tools

Core Diagnostics

  • get_pods, describe_pod, get_pod_logs, get_pod_metrics
  • get_events, get_nodes, describe_node
  • get_resource_usage, compare_namespaces

Advanced (Ecosystem)

  • Cilium: cilium_endpoints_list_tool, hubble_flows_query_tool
  • Istio: istio_proxy_status_tool, istio_analyze_tool

Related Skills

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Configure Kubernetes autoscaling with HPA, VPA, and KEDA. Use for horizontal/vertical pod autoscaling, event-driven scaling, and capacity management.

The English summary is being prepared. Showing the original description.

rohitg00/kubectl-mcp-server964Updated Oct 22, 2026

Kubernetes backup and restore with Velero. Use when creating backups, restoring applications, managing disaster recovery, or migrating workloads between clusters.

The English summary is being prepared. Showing the original description.

rohitg00/kubectl-mcp-server964Updated Oct 22, 2026

Browser automation for Kubernetes dashboards and web UIs. Use when interacting with Kubernetes Dashboard, Grafana, ArgoCD UI, or other web interfaces. Requires MCP_BROWSER_ENABLED=true.

The English summary is being prepared. Showing the original description.

rohitg00/kubectl-mcp-server964Updated Oct 22, 2026

Cluster API lifecycle management for provisioning, scaling, and upgrading Kubernetes clusters. Use when managing cluster infrastructure or multi-cluster operations.

The English summary is being prepared. Showing the original description.

rohitg00/kubectl-mcp-server964Updated Oct 22, 2026

Kubernetes certificate management with cert-manager. Use when managing TLS certificates, configuring issuers, or troubleshooting certificate issues.

The English summary is being prepared. Showing the original description.

rohitg00/kubectl-mcp-server964Updated Oct 22, 2026

Cilium and Hubble network observability for Kubernetes. Use when managing network policies, observing traffic flows, or troubleshooting connectivity with eBPF-based networking.

The English summary is being prepared. Showing the original description.

rohitg00/kubectl-mcp-server964Updated Oct 22, 2026

See all skills by rohitg00

Report a problem with this skill