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

devtools/2025/3/18 19:46:50/

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.ppmy.cn/devtools/168138.html

相关文章

OSPF与RIP联动实验

一、实验拓扑图 设计思路&#xff1a;划分了四个区域&#xff0c;配置好路由器接口IP地址后&#xff0c;首先使用OSPF实现全网互通。在R6上将会创建两个RIP&#xff0c;分别是RIP2和RIP22&#xff0c;在R7上创建一个RIP3&#xff0c;看其他路由器是否能够访问到R7的RIP路由表项…

算法练习5

今天这道题目主要是通过类来实现的&#xff0c;运用了运算符重载等相关知识。先写一个日期的类&#xff0c;然后根据每月的天数&#xff0c;将给出的n天进行减法&#xff0c;每减一次month&#xff0c;当month13时&#xff0c;month1,year,当n-当月的天数<0时&#xff0c;说…

冒泡排序:古老算法中的智慧启示

在计算机科学浩瀚的星空中&#xff0c;排序算法犹如璀璨的星辰&#xff0c;而冒泡排序恰似其中最朴实无华的一颗。这个诞生于计算机发展初期的经典算法&#xff0c;以其简单直观的逻辑原理&#xff0c;成为每个程序员启蒙阶段必经的试炼场。当我们凝视这个看似笨拙的排序方法时…

冯 • 诺依曼体系结构

冯 • 诺依曼体系结构 一、冯 • 诺依曼体系结构推导阶段 1&#xff1a;初始计算机体系结构&#xff08;仅输入、运算、输出&#xff09;阶段 2&#xff1a;加入控制功能&#xff0c;初步形成 CPU 概念阶段 3&#xff1a;性能瓶颈与引入内存阶段 4&#xff1a;最终冯诺依曼体系…

AI机器学习---开发工具JupyterLab

JupyterLab‌&#xff1a;JupyterLab是Jupyter项目的下一代交互式计算环境&#xff0c;提供了更加现代和灵活的用户界面。它支持多文档界面&#xff0c;用户可以同时打开和查看多个文档&#xff0c;包括笔记本、文本文件、代码文件等。JupyterLab的界面更加复杂&#xff0c;允许…

Redis--渐进式遍历

目录 一、引言 二、介绍 三、命令 四、总结 一、引言 本篇文章将介绍Redis中的渐进式遍历 二、介绍 一般使用keys * 来获取所有的key&#xff0c;但这样的操作如果数据量很大的时候&#xff0c;会将服务器给卡死&#xff0c;所以通过渐进式遍历&#xff0c;就会避免这个问题…

2024浙江大学计算机考研上机真题

2024浙江大学计算机考研上机真题 2024浙江大学计算机考研复试上机真题 2024浙江大学计算机考研机试真题 2024浙江大学计算机考研复试机试真题 历年浙江大学计算机复试上机真题 历年浙江大学计算机复试机试真题 2024浙江大学计算机复试上机真题 2024浙江大学计算机复试机试真题 …

Android开源库——RxJava和RxAndroid

RxJava和RxAndroid是什么&#xff1f; RxJava是基于JVM的响应式扩展&#xff0c;用于编写异步代码 RxAndroid是关于Android的RxJava绑定 RxJava和RxAndroid使用 依赖 implementation io.reactivex.rxjava3:rxjava:3.1.0 implementation io.reactivex.rxjava3:rxandroid:3.…