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 |
查看集群信息 |