当前位置: 首页 > article >正文

【k8s002】k8s健康检查与故障诊断

k8s健康检查与故障诊断

一、集群状态检查

  1. 检查节点健康状态

    kubectl get nodes -o wide          # 查看节点状态及基本信息 
    kubectl describe node <node-name>  # 分析节点详细事件(如资源不足、网络异常) 
    kubectl top nodes                  # 查看节点资源使用率(CPU/内存) 
    
    
  2. 检查核心组件状态

    kubectl get pods -n kube-system    # 确认控制平面组件(如 apiserver、scheduler)运行状态 
    
    

二、Pod 诊断

  1. Pod 状态异常(Pending/CrashLoopBackOff)

    kubectl get pods -A -o wide        # 查看所有命名空间 Pod 状态及所在节点 
    kubectl describe pod <pod-name>    # 查看事件日志(如调度失败、镜像拉取错误) 
    kubectl logs -f <pod-name>         # 实时跟踪容器日志 
    kubectl exec -it <pod-name> -- sh  # 进入容器内部排查(如配置文件错误) 
    
    
  2. 资源不足问题

    kubectl get resourcequotas -n <namespace>  # 检查命名空间资源配额限制 
    kubectl get pods --field-selector=status.phase=Pending  # 筛选待调度的 Pod 
    
    

三、服务与网络检查

  1. Service 流量异常

    kubectl get svc -o wide            # 查看 Service 的 ClusterIP 和端口映射
    kubectl get endpoints <service-name>  # 验证后端 Pod 是否被正确关联 
    
    
  2. Ingress 配置问题

    kubectl describe ingress <name>    # 检查路由规则和证书配置 
    
    

四、存储问题排查

```
kubectl get pvc -n <namespace>     # 查看 PVC 绑定状态
kubectl describe pvc <pvc-name>    # 分析存储类配置或容量不足问题 ‌
kubectl get pv                     # 检查持久卷可用性 

```

五、事件与日志分析

kubectl get events -A --sort-by='.lastTimestamp'  # 按时间排序查看集群事件 
kubectl logs --previous <pod-name>   # 查看容器崩溃前的日志(适用于 CrashLoopBackOff) 


六、高级调试命令

kubectl api-resources                # 列出所有资源类型(如排查 CRD 问题) 
kubectl explain <resource>           # 查看资源配置字段定义(如验证 YAML 合法性) 
kubectl drain <node-name> --ignore-daemonsets  # 排空节点(维护前隔离 Pod)

七、故障排查流程:‌

‌Pod 异常诊断路径‌:
Pending → 检查资源配额/节点容量
CrashLoopBackOff → 查看容器日志及 describe pod 事件
ImagePullBackOff → 验证镜像名称及私有仓库凭据

‌网络问题诊断路径‌:
Service 无端点 → 检查 Pod 标签匹配 ‌
Ingress 无法访问 → 检查路由规则及防火墙策略 ‌


http://www.kler.cn/a/588777.html

相关文章:

  • Ubuntu下安装后anaconda出现conda:command not found
  • 使用 WebP 优化 GPU 纹理占用
  • 初阶数据结构--复杂度
  • Flutter桌面开发(三、widget布局与表单)
  • Python手写机器学习的“线性回归”算法
  • 深度学习CNN特征提取与匹配
  • 【AWS入门】AWS云计算简介
  • 机器学习 [白板推导](三)[线性分类]
  • 【C++】一文吃透STL容器——list
  • deepseek GRPO算法保姆级讲解(数学原理+源码解析+案例实战)
  • 详解Flutter单线程模型,以及Flutter是如何通过单线程实现异步的
  • 云原生周刊:Istio 1.25.0 正式发布
  • [Linux][经验总结]Ubuntu6.11.0 docker更换镜像源(实操可用的正确方法)
  • 摄像头模块ISP处理流程
  • go程序调用k8s pod副本的名称IP手动赋值给configmap的参数
  • 【网络原理】关于HTTP的进化之HTTPS的加密原理的那些事
  • 【sklearn 01】人工智能概述
  • java常量池
  • Java-servlet(六)详细讲解Servlet-Web.xml标签知识
  • 【第14届蓝桥杯】软件赛CB组省赛