在CentOS上对Kubernetes(k8s)进行故障排查可以通过以下步骤进行:
kubectl get nodes 命令检查节点状态,确保所有关键组件如etcd、kubelet和kube-proxy正常运行。kubectl get pods --all-namespaces 查看所有Pod的状态,寻找未处于Running状态的Pod,并通过 kubectl describe pod <pod_name> 获取详细信息。kubectl get events 命令查看集群事件日志,这些日志记录了与集群中重要事件和错误相关的信息,有助于定位问题。kubectl get services 查看服务状态,并通过 kubectl describe service <service_name> 获取服务的详细信息。kubectl logs <pod_name> 查看特定Pod中容器的日志输出。如果Pod内有多个容器,可以使用 kubectl logs -c <container_name> <pod_name> 查看特定容器的日志。kubectl debug 是一个用于在运行中的Pod中启用调试模式的工具,可以帮助排除容器内部的故障。free -g 检查内存使用状态,cat /proc/cpuinfo 查看CPU信息,以及使用 dd 命令测试系统盘IO性能。node-problem-detector 可以帮助监控节点的健康状态,并通过设置 NodeCondition 或创建 Event 对象来汇报问题。journalctl 查看K8s核心组件的日志信息,例如kubelet的日志。通过上述步骤,可以系统地对Kubernetes集群在CentOS上进行故障排查。每个步骤都提供了具体的方法和命令,有助于快速定位和解决问题。