Kubernetes 命令速查表

kubectl 最常用命令的快速参考,按功能分组,适合日常运维和开发调试

Pod 操作

kubectl get pods 查看当前命名空间 Pod 列表
kubectl get pods -A 查看所有命名空间的 Pod
kubectl get pods -o wide 显示 Pod 所在节点和 IP
kubectl describe pod <name> 查看 Pod 详细信息和事件
kubectl logs <pod> 查看 Pod 日志
kubectl logs <pod> -f --tail=100 实时跟踪最近 100 行日志
kubectl logs <pod> --previous 查看上次崩溃的日志
kubectl exec -it <pod> -- /bin/sh 进入 Pod 容器
kubectl delete pod <name> 删除 Pod(Deployment 管理的会重建)
kubectl run debug --image=busybox -it --rm -- sh 启动临时调试 Pod

Deployment 管理

kubectl get deployments 查看 Deployment 列表
kubectl create deployment <name> --image=<img> 创建 Deployment
kubectl apply -f deployment.yaml 声明式创建/更新 Deployment
kubectl scale deployment <name> --replicas=3 调整副本数
kubectl set image deployment/<name> <container>=<image> 更新镜像
kubectl rollout status deployment/<name> 查看滚动更新状态
kubectl rollout undo deployment/<name> 回滚到上一版本
kubectl rollout history deployment/<name> 查看更新历史
kubectl rollout restart deployment/<name> 滚动重启所有 Pod

Service 与网络

kubectl get svc 查看 Service 列表
kubectl expose deployment <name> --port=80 --type=ClusterIP 创建 Service
kubectl port-forward svc/<name> 8080:80 端口转发到本地
kubectl get ingress 查看 Ingress 规则
kubectl get endpoints <svc> 查看 Service 后端 Pod
kubectl get networkpolicy 查看网络策略

配置管理

kubectl create configmap <name> --from-literal=key=value 创建 ConfigMap
kubectl create secret generic <name> --from-literal=pwd=123 创建 Secret
kubectl get configmap <name> -o yaml 查看 ConfigMap 内容
kubectl get secret <name> -o jsonpath='{.data.key}' | base64 -d 解码 Secret 值
kubectl create configmap <name> --from-file=config.yaml 从文件创建 ConfigMap
kubectl edit configmap <name> 在线编辑 ConfigMap

调试排查

kubectl describe pod <name> 查看 Pod 事件(排查首选)
kubectl logs <pod> -c <container> 查看指定容器日志
kubectl exec -it <pod> -- curl localhost:8080/health 容器内测试健康检查
kubectl get events --sort-by=.lastTimestamp 按时间查看集群事件
kubectl top pods --sort-by=memory 查看 Pod 内存使用排行
kubectl run debug --image=nicolaka/netshoot -it --rm -- bash 启动网络调试容器
kubectl auth can-i create pods 检查当前用户权限

集群管理

kubectl get nodes 查看集群节点状态
kubectl top nodes 查看节点资源使用
kubectl cordon <node> 标记节点不可调度
kubectl drain <node> --ignore-daemonsets 安全驱逐节点 Pod
kubectl uncordon <node> 恢复节点可调度
kubectl taint nodes <node> key=value:NoSchedule 添加节点污点
kubectl config get-contexts 查看可用集群上下文
kubectl config use-context <name> 切换集群

资源查看

kubectl api-resources 查看所有可用资源类型
kubectl explain pod.spec.containers 查看资源字段文档
kubectl get all -n <namespace> 查看命名空间下主要资源
kubectl get pv,pvc 查看持久卷和声明
kubectl get quota -n <namespace> 查看资源配额使用
kubectl cluster-info 查看集群信息