Loading...
Loading...
This skill should be used when users need to interact with Kubernetes clusters via kubectl CLI. It covers pod management, deployment operations, log viewing, debugging, resource monitoring, scaling, ConfigMaps, Secrets, Services, and all standard kubectl operations. Supports multiple clusters (production, staging, local k3s) with predefined aliases. Triggers on requests mentioning Kubernetes, k8s, pods, deployments, containers, or cluster operations.
npx skill4agent add oldwinter/skills kubectl| Alias | Cluster | Namespace | Purpose |
|---|---|---|---|
| AWS EKS Production | | 生产环境 |
| AWS EKS Production | | 预发布环境 |
| K3s (192.168.10.117) | | 本地开发环境 |
k1 get pods # 查看生产环境 pods
k2 get pods # 查看预发布环境 pods
k get pods # 查看本地环境 podskubectxkubensargocdkargodelete poddelete deploymentdelete servicedelete pvcscale --replicas=0k1draincordonuncordon⚠️ 危险操作确认
环境: [Production/Staging/Local]
操作: [具体操作描述]
资源: [受影响的资源]
影响: [潜在影响说明]
是否继续执行?# 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 <pod-name>
# Watch pods in real-time
k1 get pods -w# List deployments
k1 get deployments
k1 get deploy -o wide
# Deployment details
k1 describe deployment <name>
# Rollout status
k1 rollout status deployment/<name>
# Rollout history
k1 rollout history deployment/<name># List services
k1 get services
k1 get svc
# Service details with endpoints
k1 describe svc <name>
k1 get endpoints <name># 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# Basic logs
k1 logs <pod-name>
# Follow logs (streaming)
k1 logs -f <pod-name>
# Last N lines
k1 logs --tail=100 <pod-name>
# Logs since time
k1 logs --since=1h <pod-name>
k1 logs --since=10m <pod-name>
# Previous container logs (after restart)
k1 logs --previous <pod-name>
# Multi-container pod
k1 logs <pod-name> -c <container-name>
# All containers in pod
k1 logs <pod-name> --all-containers=true# Execute command in container
k1 exec <pod-name> -- <command>
# Interactive shell
k1 exec -it <pod-name> -- /bin/sh
k1 exec -it <pod-name> -- /bin/bash
# Specific container in multi-container pod
k1 exec -it <pod-name> -c <container> -- /bin/sh# Pod events and status
k1 describe pod <pod-name>
# Get pod YAML
k1 get pod <pod-name> -o yaml
# Debug with ephemeral container
k1 debug <pod-name> -it --image=busybox
# Check resource usage
k1 top pods
k1 top nodes# Scale deployment
k1 scale deployment/<name> --replicas=3
# Autoscale
k1 autoscale deployment/<name> --min=2 --max=5 --cpu-percent=80# Update image
k1 set image deployment/<name> <container>=<image>:<tag>
# Rollout status
k1 rollout status deployment/<name>
# Pause/resume rollout
k1 rollout pause deployment/<name>
k1 rollout resume deployment/<name>
# Rollback
k1 rollout undo deployment/<name>
k1 rollout undo deployment/<name> --to-revision=2# Restart deployment (rolling restart)
k1 rollout restart deployment/<name># List ConfigMaps
k1 get configmaps
k1 get cm
# View ConfigMap content
k1 describe cm <name>
k1 get cm <name> -o yaml
# Create from file
k1 create configmap <name> --from-file=<path>
# Create from literal
k1 create configmap <name> --from-literal=key=value# List Secrets
k1 get secrets
# View Secret (base64 encoded)
k1 get secret <name> -o yaml
# Decode Secret value
k1 get secret <name> -o jsonpath='{.data.password}' | base64 -d
# Create Secret
k1 create secret generic <name> --from-literal=password=xxx# List PVCs
k1 get pvc
# PVC details
k1 describe pvc <name># Forward local port to pod
k1 port-forward pod/<name> 8080:80
# Forward to service
k1 port-forward svc/<name> 8080:80
# Background port-forward
k1 port-forward pod/<name> 8080:80 &# Expose deployment as service
k1 expose deployment/<name> --port=80 --target-port=8080
# Get service external IP
k1 get svc <name> -o jsonpath='{.status.loadBalancer.ingress[0].hostname}'# List nodes
k1 get nodes
k1 get nodes -o wide
# Node details
k1 describe node <name>
# Node resource usage
k1 top nodes# List namespaces
k1 get namespaces
# Switch namespace (using kubens)
kubens <namespace>
# Create namespace
k1 create namespace <name># List contexts
kubectx
# Switch context
kubectx <context-name>
# Show current context
kubectl config current-context# 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 <name>✅ Pod 状态 (production)
┌──────────────────────────┬─────────┬──────────┬─────────┐
│ Pod │ Status │ Restarts │ Age │
├──────────────────────────┼─────────┼──────────┼─────────┤
│ simplex-api-xxx-abc │ Running │ 0 │ 2d │
│ simplex-api-xxx-def │ Running │ 0 │ 2d │
└──────────────────────────┴─────────┴──────────┴─────────┘k1 get pod <name>k1 describe pod <name>k1 logs --tail=50 <name>k1 top pod <name># JSON output
k1 get pods -o json
# YAML output
k1 get pod <name> -o yaml
# Custom columns
k1 get pods -o custom-columns=NAME:.metadata.name,STATUS:.status.phase
# JSONPath
k1 get pods -o jsonpath='{.items[*].metadata.name}'k1 get pod <name>k1 describe pod <name>k1 logs <name>k1 logs --previous <name>ImagePullBackOffCrashLoopBackOffPendingk1 top pods --sort-by=memoryk1 top nodesk1 get hpak1 scale deployment/<name> --replicas=Nk1 get svc <name>k1 get endpoints <name>k1 exec -it <pod> -- curl <service>:<port>