学习笔记

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 状态。

阅读全文

从零实现个人博客的Docker容器化部署

项目背景 个人博客最初采用传统的Git Hook方式部署:代码推送后,云服务器通过post-receive钩子自动执行Hugo构建并部署到Nginx。这种方式稳定可靠,但缺少容器化带来的环境一致性和可移植性优势。 本文记录了将博客完整容器化的实践过程,包括技术选型、CI/CD流程设计、遇到的问题及解决方案,以及最终实现的双轨部署架构。

阅读全文

zenzo设计草案

zenzo设计草案 📌 项目简介 本系统旨在通过量化工作与娱乐时间之间的兑换关系,引导使用者建立良性的时间管理与行为反馈循环。核心机制包括积分累积、娱乐兑换、休息管理、节假日控制、惩罚机制与状态恢复,目标是实现简单、高效、可持续的时间控制。

阅读全文

Sre周笔记 #3

Sre周笔记 #3 第一部分 文本处理工具与正则表达式(点击跳转) 第二部分 文件查找与打包压缩(点击跳转) 第三部分 磁盘存储与文件系统管理(点击跳转)

阅读全文

磁盘存储与文件系统管理

一、磁盘结构与基础术语 在 Linux 中,所有设备(包括硬盘)都被视为文件,称为“设备文件”。 1. 设备文件 位于 /dev 目录中; 命名规则: /dev/sda:第一个SCSI/SATA磁盘 /dev/sdb1:第二块磁盘的第一个分区

阅读全文

Sre周笔记 #2

Sre周笔记 #2 第一部分 Linux 用户与权限管理(点击跳转) 第二部分 文本处理工具与正则表达式(点击跳转) 第三部分 文件查找与打包压缩(点击跳转)

阅读全文

文件查找与打包压缩

一、文件查找工具 1. locate:快速查找工具 基于数据库 /var/lib/mlocate/mlocate.db,更新不及时; 使用前建议运行 updatedb 更新数据库(需要 root 权限); locate filename

阅读全文