Kubernetes常用命令指南,重点涵盖Pod和Deployment的管理以及日志排查。
1. Pod 管理命令
1.1 查看 Pod
查看指定命名空间下的所有 Pod
kubectl get pods-n<namespace>示例:查看 kube-system 命名空间下的 Pod
kubectl get pods-nkube-system查看所有命名空间的 Pod
kubectl get pods --all-namespaces查看 Pod 的详细信息(含节点IP、状态等)
kubectl get pods-owide-n<namespace>查看特定 Pod 的详细描述(用于排查启动失败等问题)
kubectl describe pod<pod-name>-n<namespace>1.2 删除 Pod
删除单个 Pod
kubectl delete pod<pod-name>-n<namespace>示例:
kubectl delete pod kubernetes-dashboard-latest-4167338039-bbwp4-nsit批量删除特定状态的 Pod(例如删除所有Evicted状态的 Pod)
kubectl get pods|grepEvicted|awk'{print $1}'|xargskubectl delete pod1.3 关于 Pod 删除后自动重启的说明
注意:直接删除 Pod 后,由于 Kubernetes 的自愈机制(如 ReplicaSet、Deployment 等控制器会确保副本数达标),Pod 会被自动重新创建。若想彻底移除,需删除其对应的控制器(如 Deployment)。
2. Deployment 管理(彻底删除 Pod)
2.1 查看所有 Deployment
kubectl get deployments --all-namespaces输出示例:
NAMESPACE NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE kube-system kubernetes-dashboard-latest 1 1 1 0 2d2.2 删除 Deployment(彻底移除 Pod)
删除 Deployment 后,由其管理的 Pod 将永久删除且不会自动重建。
kubectl delete deployment<deployment-name>-n<namespace>示例:
kubectl delete deployment kubernetes-dashboard-latest-nkube-system输出:
deployment "kubernetes-dashboard-latest" deleted3. 日志查看与故障排查
3.1 查看 Pod 日志
查看全部日志
kubectl logs<pod-name>-n<namespace>实时跟踪日志输出(类似tail -f)
kubectl logs<pod-name>-f-n<namespace>查看最后 N 行日志(实时)
kubectl logs<pod-name>-f--tail=6-n<namespace>3.2 日志过滤与检索
搜索包含特定关键词的日志
kubectl logs<pod-name>-n<namespace>|grep"关键词"倒序显示匹配内容(最新日志在前)
kubectl logs<pod-name>-n<namespace>|grep"关键词"|sort-r只显示匹配内容的最后一行
kubectl logs<pod-name>-n<namespace>|grep"关键词"|tail-14. 集群状态检查
验证集群健康状况(适用于 kops 管理的集群)
kops validate cluster--name<cluster-name>示例:
kops validate cluster--namemofang-test-env.k8s.local