From sundial-org-awesome-openclaw-skills-4
Executes kubectl commands to manage Kubernetes clusters: query resources, deploy/update apps, debug pods/containers, view logs, monitor health. For K8s, deployments, pod diagnostics.
npx claudepluginhub joshuarweaver/cascade-ai-ml-agents-misc-2 --plugin sundial-org-awesome-openclaw-skills-4This skill uses the workspace's default tool permissions.
Execute Kubernetes cluster management operations using the `kubectl` command-line tool.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Execute Kubernetes cluster management operations using the kubectl command-line tool.
This skill enables agents to:
~/.kube/config)macOS:
brew install kubernetes-cli
Linux:
apt-get install -y kubectl # Ubuntu/Debian
yum install -y kubectl # RHEL/CentOS
Verify:
kubectl version --client
kubectl cluster-info # Test connection
kubectl get pods # List all pods in current namespace
kubectl get pods -A # All namespaces
kubectl get pods -o wide # More columns
kubectl get nodes # List nodes
kubectl describe pod POD_NAME # Detailed info with events
kubectl logs POD_NAME # Get logs
kubectl logs -f POD_NAME # Follow logs (tail -f)
kubectl logs POD_NAME -c CONTAINER # Specific container
kubectl logs POD_NAME --previous # Previous container logs
kubectl exec -it POD_NAME -- /bin/bash # Interactive shell
kubectl exec POD_NAME -- COMMAND # Run single command
kubectl apply -f deployment.yaml # Apply config
kubectl create -f deployment.yaml # Create resource
kubectl apply -f deployment.yaml --dry-run=client # Test
kubectl set image deployment/APP IMAGE=IMAGE:TAG # Update image
kubectl scale deployment/APP --replicas=3 # Scale pods
kubectl rollout status deployment/APP # Check status
kubectl rollout undo deployment/APP # Rollback
kubectl config view # Show kubeconfig
kubectl config get-contexts # List contexts
kubectl config use-context CONTEXT # Switch context
# 1. Identify the issue
kubectl describe pod POD_NAME
# 2. Check logs
kubectl logs POD_NAME
kubectl logs POD_NAME --previous
# 3. Execute debug commands
kubectl exec -it POD_NAME -- /bin/bash
# 4. Check events
kubectl get events --sort-by='.lastTimestamp'
# 1. Update image
kubectl set image deployment/MY_APP my-app=my-app:v2
# 2. Monitor rollout
kubectl rollout status deployment/MY_APP -w
# 3. Verify
kubectl get pods -l app=my-app
# 4. Rollback if needed
kubectl rollout undo deployment/MY_APP
# 1. Drain node (evicts all pods)
kubectl drain NODE_NAME --ignore-daemonsets
# 2. Do maintenance
# ...
# 3. Bring back online
kubectl uncordon NODE_NAME
The --output (-o) flag supports multiple formats:
table — Default tabular formatwide — Extended table with additional columnsjson — JSON format (useful with jq)yaml — YAML formatjsonpath — JSONPath expressionscustom-columns — Define custom output columnsname — Only resource namesExamples:
kubectl get pods -o json | jq '.items[0].metadata.name'
kubectl get pods -o jsonpath='{.items[*].metadata.name}'
kubectl get pods -o custom-columns=NAME:.metadata.name,STATUS:.status.phase
-n, --namespace=<ns> # Operate in specific namespace
-A, --all-namespaces # Operate across all namespaces
--context=<context> # Use specific kubeconfig context
-o, --output=<format> # Output format (json, yaml, table, etc.)
--dry-run=<mode> # Dry-run mode (none, client, server)
-l, --selector=<labels> # Filter by labels
--field-selector=<selector> # Filter by fields
-v, --v=<int> # Verbosity level (0-9)
--dry-run=client — Fast client-side validation (test commands safely)--dry-run=server — Server-side validation (more accurate)--dry-run=none — Execute for real (default)Always test with --dry-run=client first:
kubectl apply -f manifest.yaml --dry-run=client
For detailed reference material, command-by-command documentation, troubleshooting guides, and advanced workflows, see:
Use label selectors for bulk operations:
kubectl delete pods -l app=myapp
kubectl get pods -l env=prod,tier=backend
Watch resources in real-time:
kubectl get pods -w # Watch for changes
Use -A flag for all namespaces:
kubectl get pods -A # See pods everywhere
Save outputs for later comparison:
kubectl get deployment my-app -o yaml > deployment-backup.yaml
Check before you delete:
kubectl delete pod POD_NAME --dry-run=client
kubectl help # General help
kubectl COMMAND --help # Command help
kubectl explain pods # Resource documentation
kubectl explain pods.spec # Field documentation
KUBECONFIG — Path to kubeconfig file (can include multiple paths separated by :)KUBECTL_CONTEXT — Override default contextVersion: 1.0.0
License: MIT
Compatible with: kubectl v1.20+, Kubernetes v1.20+