Debug Kubernetes pods, nodes, and workloads using kubectl debug. Covers ephemeral containers, pod copying, node debugging, debug profiles, and interactive troubleshooting sessions. Use when user mentions kubectl debug, debugging pods, ephemeral containers, node debugging, or interactive troubleshooting in Kubernetes clusters.
View on GitHublaurigates/claude-plugins
kubernetes-plugin
January 24, 2026
Select agents to install to:
npx add-skill https://github.com/laurigates/claude-plugins/blob/main/kubernetes-plugin/skills/kubectl-debugging/SKILL.md -a claude-code --skill kubectl-debuggingInstallation paths:
.claude/skills/kubectl-debugging/# kubectl debug - Interactive Kubernetes Debugging Expert knowledge for debugging Kubernetes resources using `kubectl debug` - ephemeral containers, pod copies, and node access. ## Core Capabilities **kubectl debug** automates common debugging tasks: - **Ephemeral Containers**: Add debug containers to running pods without restart - **Pod Copying**: Create modified copies for debugging (different images, commands) - **Node Debugging**: Access node host namespaces and filesystem ## Context Safety (CRITICAL) **Always specify `--context`** explicitly in every kubectl command: ```bash # CORRECT: Explicit context kubectl --context=prod-cluster debug mypod -it --image=busybox # WRONG: Relying on current context kubectl debug mypod -it --image=busybox # Which cluster? ``` ## Quick Reference ### Add Ephemeral Debug Container ```bash # Interactive debugging with busybox kubectl --context=my-context debug mypod -it --image=busybox # Target specific container's process namespace kubectl --context=my-context debug mypod -it --image=busybox --target=mycontainer # Use a specific debug profile kubectl --context=my-context debug mypod -it --image=busybox --profile=netadmin ``` ### Copy Pod for Debugging ```bash # Create debug copy kubectl --context=my-context debug mypod -it --copy-to=mypod-debug --image=busybox # Copy and change container image kubectl --context=my-context debug mypod --copy-to=mypod-debug --set-image=app=busybox # Copy and modify command kubectl --context=my-context debug mypod -it --copy-to=mypod-debug --container=myapp -- sh # Copy on same node kubectl --context=my-context debug mypod -it --copy-to=mypod-debug --same-node --image=busybox ``` ### Debug Node ```bash # Interactive node debugging (host namespaces, filesystem at /host) kubectl --context=my-context debug node/mynode -it --image=busybox # With sysadmin profile for full capabilities kubectl --context=my-context debug node/mynode -it --image=ubuntu --profile=sysadmin ``` ## Debug P