Kustomize 分析器
v1.0.0分析Kustomize配置以确保最佳实践、overlay一致性、patch正确性和跨环境的部署安全。
0· 15·0 当前·0 累计
运行时依赖
无特殊依赖
安装命令
点击复制官方npx clawhub@latest install kustomize-analyzer
镜像加速npx clawhub@latest install kustomize-analyzer --registry https://cn.longxiaskill.com 镜像可用
技能文档
Kustomize 分析器 分析 Kustomize 配置以实现最佳实践、叠加一致性、策略/JSON 补丁正确性、资源管理和部署安全。 在审查 Kustomize 设置、准备多环境部署或审计现有配置时使用。 用法 "分析我的 Kustomize 叠加层是否存在问题" "检查我的开发/预发/生产配置是否一致" "验证 Kustomize 补丁是否正确" "审计跨环境的资源管理"
工作原理
- 结构发现
- 配置审计
- 跨环境一致性
- 安全审查
- 构建验证
输出
Kustomize 分析
基准: k8s/base (8 个资源) 叠加层: 开发、预发、生产🔴 问题(3)
- 生产中缺少资源限制 — overlays/production/ 基准部署没有资源限制,生产没有补丁 → 添加战略合并补丁,包括 CPU/内存限制
- 补丁目标不存在的字段 — overlays/staging/ingress-patch.yaml 补丁
spec.rules[0].host但基准 ingress 没有规则定义 → 修复基准 ingress 或使用 JSON 补丁添加操作 - 明文 Secret — overlays/production/database-secret.yaml 数据库密码以明文 YAML 存储:
password: cHJvZF9wYXNz("prod_pass" 的 base64 编码)→ 使用 SealedSecrets、SOPS 或外部 Secrets 操作符
🟡 警告(4)
- 开发叠加层缺少 NetworkPolicy(基准没有,生产有一个)
- 预发叠加层的镜像标签为
latest(应为发布候选版本) - 生产中没有 PodDisruptionBudget
- ConfigMap 键在开发(3 个键)和生产(5 个键)之间不同
📊 环境比较
| 资源 | 开发 | 预发 | 生产 | |----------|-----|---------|------| | 副本 | 1 | 2 | 3 | | CPU 限制 | 无 | 500m | 1000m | | 内存限制 | 无 | 512Mi | 1Gi | | 镜像标签 | 最新 | 最新 ⚠️ | v2.1.0 | | NetworkPolicy | ❌ | ❌ | ✅ | | PDB | ❌ | ❌ | ❌ ⚠️ |✅ 良好实践
- 清晰的基准/叠加层分离
- 命名空间通过 kustomization.yaml 设置每个叠加层
- 公共标签通过 commonLabels 应用
- 资源命名遵循约定