SuperAPI AI 工具集

k8s-diff

部署与运维

查看项目

更新于 10-15 22:37

技能介绍

用途:渲染 Kubernetes 清单并与在线集群或上一次渲染结果做差异比较,标记有风险的变更。全程只读。

主要能力:自动识别输入类型——目录含 Chart.yaml 走 Helm(helm template),含 kustomization.yaml/yml 走 Kustomize(kubectl kustomize),普通 .yaml/.yml 走原始 YAML(cat)。渲染结果按 apiVersion/kind/namespace/name 拆分为独立资源。有集群目标时逐资源拉取在线版本对比,无集群时以 git merge-base HEAD main 渲染同一清单做对比。差异按风险分级:CRITICAL(命名空间删除、PV/PVC 移除、RBAC 提权)、HIGH(资源限制下调超 50%、副本数归零、镜像标签改为 latest)、MEDIUM(新增 CRD apiVersion、Service 端口变更、ConfigMap 键删除)、LOW(标签/注解变更、资源请求调整)。输出前对匹配 password、secret、token、key、credential 的键做脱敏,替换为 [REDACTED]。

使用方式:需 kubectl(必需,缺失即中止),helm、kustomize 可选,缺失时回退 kubectl kustomize。若参数含 --context,则所有 kubectl 调用都带上该值。先运行 kubectl cluster-info 测试访问,不可达则设 CLUSTER_AVAILABLE=false 并继续(仍可做 git 对比)。渲染写入临时文件,退出时清理。输出顺序为:摘要(新增/修改/删除数量)、风险表、脱敏后的完整统一差异。

适用场景:部署前审查清单变更、对比集群实际状态与期望状态、识别高风险改动。

限制:严格只读,绝不 apply、patch 或删除资源;仅使用临时文件。具体安装命令与更多参数细节暂未提供。