KubeHealer 开发实录 (2):从状态展示到深度根因分析

1. 诊断维度的多层扩展 在完成了基础的 Pod 状态获取后,单一的 Status 字段已不足以描述复杂的故障现场。为了提供更立体的诊断视图,KubeHealer 在维度上进行了三项重要扩展:

阅读全文

KubeHealer 开发实录 (3):从面条代码到规则引擎的重构

1. 痛点:不断膨胀的 if-else 在项目初期,所有的诊断逻辑(OOM、ImagePull、Crash)都堆砌在 GetContainerStatus 一个函数中。随着功能的增加,这个函数迅速膨胀,面临以下问题:

阅读全文

KubeHealer 开发实录 (4):CLI 工具的多模态报告设计

1. 架构解耦:Analyzer vs Reporter 在 Week 2 结束时,我们的诊断逻辑和打印逻辑是耦合在一起的。为了支持多种输出格式,Week 3 的第一步就是实施 关注点分离 (Separation of Concerns) 的设计思想。

阅读全文

基于 client-go 的 Kubernetes 容器层诊断工具开发实录

1. 项目背景与技术选型 在 Kubernetes 集群运维中,快速定位 Pod 异常是 SRE 的核心职责之一。虽然 kubectl get pods 是最常用的命令,但它往往只能提供宏观层面的状态信息。本项目 KubeHealer 旨在开发一个专用的诊断工具,通过编程方式深入分析 Pod 状态。

阅读全文