Kubectl Skill
This skill enables comprehensive Kubernetes cluster management using kubectl and related tools.
Environment Cluster Aliases
Three cluster/namespace combinations are pre-configured:
Alias Cluster Namespace Purpose k1 AWS EKS Production production 生产环境 k2 AWS EKS Production staging 预发布环境 k K3s (192.168.10.117) simplex 本地开发环境
Usage:
k1 get pods # 查看生产环境 pods k2 get pods # 查看预发布环境 pods k get pods # 查看本地环境 pods
Additional Tools kubectx - Switch between clusters kubens - Switch between namespaces argocd - GitOps deployments (see separate skill) kargo - Progressive delivery (see separate skill) Safety Protocol Dangerous Operations Requiring Confirmation
Before executing any of the following operations, explicitly confirm with the user:
Delete operations: delete pod, delete deployment, delete service, delete pvc Scale to zero: scale --replicas=0 Production modifications: Any k1 command that modifies resources Drain/cordon nodes: drain, cordon, uncordon Apply/patch: Changes to production resources Confirmation Format ⚠️ 危险操作确认
环境: [Production/Staging/Local] 操作: [具体操作描述] 资源: [受影响的资源] 影响: [潜在影响说明]
是否继续执行?
Common Operations Reference Resource Viewing Pods
List pods with status
k1 get pods k1 get pods -o wide # Include node and IP info k1 get pods --show-labels # Show labels k1 get pods -l app=simplex-api # Filter by label
Pod details
k1 describe pod
Watch pods in real-time
k1 get pods -w
Deployments
List deployments
k1 get deployments k1 get deploy -o wide
Deployment details
k1 describe deployment
Rollout status
k1 rollout status deployment/
Rollout history
k1 rollout history deployment/
Services & Endpoints
List services
k1 get services k1 get svc
Service details with endpoints
k1 describe svc
All Resources
Get all common resources
k1 get all
Get specific resource types
k1 get pods,svc,deploy
Get all resources with labels
k1 get all -l app=simplex-api
Logs & Debugging Viewing Logs
Basic logs
k1 logs
Follow logs (streaming)
k1 logs -f
Last N lines
k1 logs --tail=100
Logs since time
k1 logs --since=1h
Previous container logs (after restart)
k1 logs --previous
Multi-container pod
k1 logs
All containers in pod
k1 logs
Executing Commands
Execute command in container
k1 exec
Interactive shell
k1 exec -it
Specific container in multi-container pod
k1 exec -it
Debugging
Pod events and status
k1 describe pod
Get pod YAML
k1 get pod
Debug with ephemeral container
k1 debug
Check resource usage
k1 top pods k1 top nodes
Deployment Management Scaling
Scale deployment
k1 scale deployment/
Autoscale
k1 autoscale deployment/
Rolling Updates
Update image
k1 set image deployment/
Rollout status
k1 rollout status deployment/
Pause/resume rollout
k1 rollout pause deployment/
Rollback
k1 rollout undo deployment/
Restart
Restart deployment (rolling restart)
k1 rollout restart deployment/
Configuration Resources ConfigMaps
List ConfigMaps
k1 get configmaps k1 get cm
View ConfigMap content
k1 describe cm
Create from file
k1 create configmap
Create from literal
k1 create configmap
Secrets
List Secrets
k1 get secrets
View Secret (base64 encoded)
k1 get secret
Decode Secret value
k1 get secret
Create Secret
k1 create secret generic
PersistentVolumeClaims
List PVCs
k1 get pvc
PVC details
k1 describe pvc
Network Operations Port Forwarding
Forward local port to pod
k1 port-forward pod/
Forward to service
k1 port-forward svc/
Background port-forward
k1 port-forward pod/
Service Exposure
Expose deployment as service
k1 expose deployment/
Get service external IP
k1 get svc
Cluster Management Nodes
List nodes
k1 get nodes k1 get nodes -o wide
Node details
k1 describe node
Node resource usage
k1 top nodes
Namespaces
List namespaces
k1 get namespaces
Switch namespace (using kubens)
kubens
Create namespace
k1 create namespace
Context Management
List contexts
kubectx
Switch context
kubectx
Show current context
kubectl config current-context
Resource Monitoring
Pod resource usage
k1 top pods k1 top pods --sort-by=cpu k1 top pods --sort-by=memory
Node resource usage
k1 top nodes
HPA status
k1 get hpa
k1 describe hpa
Output Formatting For Status Checks
Provide concise summaries:
✅ Pod 状态 (production) ┌──────────────────────────┬─────────┬──────────┬─────────┐ │ Pod │ Status │ Restarts │ Age │ ├──────────────────────────┼─────────┼──────────┼─────────┤ │ simplex-api-xxx-abc │ Running │ 0 │ 2d │ │ simplex-api-xxx-def │ Running │ 0 │ 2d │ └──────────────────────────┴─────────┴──────────┴─────────┘
For Troubleshooting
When investigating issues, gather:
Pod status: k1 get pod
JSON output
k1 get pods -o json
YAML output
k1 get pod
Custom columns
k1 get pods -o custom-columns=NAME:.metadata.name,STATUS:.status.phase
JSONPath
k1 get pods -o jsonpath='{.items[*].metadata.name}'
Troubleshooting Workflows
Pod Not Starting
Check pod status: k1 get pod
For GitOps operations (deployments via git), use the ArgoCD and Kargo skills:
ArgoCD: Application sync, rollback, status Kargo: Progressive delivery, freight promotion
For AWS infrastructure operations, use the AWS CLI skill.