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

【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 无法访问 → 检查路由规则及防火墙策略 ‌

相关文章:

  • ETIMEDOUT 网络超时问题
  • 电机控制常见面试问题(十三)
  • redis事务
  • 企业微信群聊机器人开发
  • 深度优先搜索(DFS)与方格图的连通性判断
  • 案例驱动的 IT 团队管理:创新与突破之路:第一章 重构 IT 团队管理:从传统到创新-1.2.1 真实场景还原:从失败中学习
  • MATLAB基于ResNet18的交通标志识别系统
  • S32K144入门笔记(十二):LPIT的解读
  • MySQL单表查询大全【SELECT】
  • .NET_Prism基本项目创建
  • Java实体类转JSON时如何避免null值变成“null“?
  • TypeORM 和 Mongoose 是两种非常流行的 ORM 工具
  • Kubernetes pod 控制器 之 Deployment
  • pytorch中的基础数据集
  • CSS引入方式、字体与文本
  • Flask中使用WTForms处理表单验证
  • 前端学习记录:解决路由缓存问题
  • 东芝2323AMW复印机安装纸盒单元后如何添加配件选项
  • 【商城实战(38)】Spring Boot:从本地事务到分布式事务,商城数据一致性的守护之旅
  • 嵌入式系统中的Board Support Package (BSP)详解:以Xilinx Zynq为例
  • 做网站的知识/竞价托管公司排名
  • 个人网站网页制作/下载百度网盘
  • 彩票引流推广方法/亚马逊关键词优化怎么做
  • 池州做网站的公司/网络推广营销公司
  • 做网站编辑要有逻辑吗/农产品品牌推广方案
  • 网站建设语言/在线排名优化