【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.mzph.cn/web/72477.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

01-Canvas-使用fabric初始

fabric官网&#xff1a; https://fabric5.fabricjs.com/demos/ 创建画布并绘制 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-sca…

【机器学习-基础知识】统计和贝叶斯推断

1. 概率论基本概念回顾 1. 概率分布 定义: 概率分布(Probability Distribution)指的是随机变量所有可能取值及其对应概率的集合。它描述了一个随机变量可能取的所有值以及每个值被取到的概率。 对于离散型随机变量,使用概率质量函数来描述。对于连续型随机变量,使用概率…

常见限流算法及实现

1. 固定窗口计数器&#xff08;Fixed Window Counter&#xff09; 原理&#xff1a;在固定时间窗口&#xff08;如1分钟&#xff09;内统计请求数&#xff0c;超过阈值则拒绝后续请求。优点&#xff1a;实现简单&#xff0c;内存占用低。缺点&#xff1a;存在窗口切换时的流量…

《TCP/IP网络编程》学习笔记 | Chapter 18:多线程服务器端的实现

《TCP/IP网络编程》学习笔记 | Chapter 18&#xff1a;多线程服务器端的实现 《TCP/IP网络编程》学习笔记 | Chapter 18&#xff1a;多线程服务器端的实现线程的概念引入线程的背景线程与进程的区别 线程创建与运行pthread_createpthread_join可在临界区内调用的函数工作&#…

创新实践分享:基于边缘智能+扣子的智能取物机器人解决方案

在 2024 年全国大学生物联网设计竞赛中&#xff0c;火山引擎作为支持企业&#xff0c;不仅参与了赛道的命题设计&#xff0c;还为参赛队伍提供了相关的硬件和软件支持。以边缘智能和扣子的联合应用为核心&#xff0c;参赛者们在这场竞赛中展现出了卓越的创新性和实用性&#xf…

QT:动态属性和对象树

动态对象 1.添加Q_PROPERTY对象 #ifndef MYPROPERTYCLASS_H #define MYPROPERTYCLASS_H#include <QObject>class MyPropertyClass : public QObject {Q_OBJECTQ_PROPERTY(QString mask READ mask WRITE setMask NOTIFY maskChanged) public:explicit MyPropertyClass(Q…

MobileNet家族:从v1到v4的架构演进与发展历程

MobileNet 是一个专为移动设备和嵌入式系统设计的轻量化卷积神经网络&#xff08;CNN&#xff09;家族&#xff0c;旨在在资源受限的环境中实现高效的图像分类、对象检测和语义分割等任务。自 2017 年首次推出以来&#xff0c;MobileNet 经历了从 v1 到 v4 的多次迭代&#xff…

在 Windows 上使用 choco 安装 mkcert 并配置 Vue 运行HTTPS

解决在Windows上使用Vue本地运行HTTPS的问题,vue-cli或vite都可以使用 步骤 1&#xff1a;确认 Chocolatey 是否已安装 1. 检查 choco 命令是否可用 打开 PowerShell&#xff08;管理员权限&#xff09;&#xff0c;输入&#xff1a; choco -v如果显示版本号&#xff08;如…

【PHP】新版本特性记录(持续更新)

文章目录 前言PHP 7.01&#xff09;NULL合并运算符&#xff1a;??2&#xff09;参数、返回值支持类型声明3&#xff09;太空船操作符&#xff1a;<>4&#xff09;通过 define 定义常量数组5&#xff09;匿名类实例化6&#xff09;字符串里使用\u转义unicode codepoint …

【记】如何理解kotlin中的委托属性?

1. 什么是委托属性&#xff1f; 委托属性的核心思想是&#xff1a; 你可以将一个属性的 getter 和 setter 的逻辑交给一个外部对象&#xff08;称为委托对象&#xff09;来处理。这个外部对象负责存储属性的值&#xff0c;并提供自定义的 get 和 set 行为。 通过委托属性&am…

使用自动导入后,eslint报错 eslint9

前提&#xff1a;使用pnpm create vuelatest创建vue应用&#xff0c;并且在创建项目时就勾选eslint和prettier&#xff0c;不然有些配置还需要手动配&#xff0c;比如解决eslint和prettier的冲突问题 1. 解决使用自动导入后Eslint报错问题 配置vite.config.ts // 自动导入api…

springboot EasyExcel 实现导入导出

1. 添加依赖 确保 Maven 依赖中包含 EasyExcel 3.0.5&#xff1a; <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.0.5</version></dependency><!-- excel工具 --><dep…

实现悬浮按钮拖动,兼容h5和微信小程序

h5用js写&#xff0c;微信小程序用 代码里面没有完全实现吸附边缘的功能&#xff0c;需要吸附边缘的话还得自己再完善下&#xff08;h5的吸附边缘是可以的&#xff0c;小程序的还有点问题&#xff09; 主要功能是&#xff1a;图片上写文字的悬浮按钮&#xff0c;文字使用的是…

2、操作系统之软件基础

一、硬件支持系统 &#xff0c;系统管理硬件 操作系统核心功能可以分为&#xff1a; 守护者&#xff1a;对硬件和软件资源的管理协调者&#xff1a;通过机制&#xff0c;将各种各样的硬件资源适配给软件使用。 所以为了更好的管理硬件&#xff0c;操作系统引进了软件。其中3大…

17 | 实现简洁架构的 Biz 层

提示&#xff1a; 所有体系课见专栏&#xff1a;Go 项目开发极速入门实战课&#xff1b;欢迎加入 云原生 AI 实战 星球&#xff0c;12 高质量体系课、20 高质量实战项目助你在 AI 时代建立技术竞争力&#xff08;聚焦于 Go、云原生、AI Infra&#xff09;&#xff1b;本节课最终…

idea更新git代码报错No Git Roots

idea更新git代码报错&#xff1a; No Git Roots None of configured Git roots are under Git. The configured directory must have ".git directory in it.但是本地项目里是存在.git文件的&#xff0c;就是突然间不能更新代码了 然后尝试重新拉新项目代码提示: Git i…

Webpack 知识点整理

​ 1. 对 webpack 的理解&#xff1f;解决了什么问题&#xff1f; Webpack 是前端工程化领域的核心工具&#xff0c;其核心定位是模块打包器&#xff08;Module Bundler&#xff09;&#xff0c;通过将各类资源&#xff08;JS、CSS、图片等&#xff09;视为模块并进行智能整合…

[Hello-CTF]RCE-Labs超详细WP-Level13Level14(PHP下的0/1构造RCE命令简单的字数限制RCE)

Level 13 源码分析 这题又回到了 PHP重点关注preg_match("/[A-Za-z0-9\"%*,-.\/:;>?[\]^|]/", $cmd)禁用了所有数字, 并且回到了 PHP, 没办法用上一关的方法进行绕过但是比起上一关, 给我们少绕过了 &, ~, _似乎有其他方法 解题分析 利用 $(()) 和 …

Qt 控件概述 QWdiget 1.1

目录 qrc机制 qrc使用 1.在项目中创建一个 qrc 文件 2.将图片导入到qrc文件中 windowOpacity&#xff1a; cursor 光标 cursor类型 自定义Cursor font tooltip focusPolicy styleSheet qrc机制 之前提到使用相对路径的方法来存放资源&#xff0c;还有一种更好的方式…

【eNSP实战】将路由器配置为DHCP服务器

拓图 要求&#xff1a; 为 office100 和 office200 分别配置地址池 AR1接口配置 interface GigabitEthernet0/0/0ip address 192.168.100.1 255.255.255.0 # interface GigabitEthernet0/0/1ip address 192.168.200.1 255.255.255.0 AR1路由器上创建office100地址池 [AR1…