用途:以无模板、声明式合并的方式管理 Kubernetes 配置,通过 base 与 overlay 结构区分环境,渲染出最终清单。
主要能力:支持 kustomize build 渲染、kubectl apply -k 应用与 kubectl diff -k 预览差异;使用 configMapGenerator/secretGenerator 生成 ConfigMap 与 Secret 并附加内容哈希后缀;使用 transformer 处理 namespace、namePrefix/nameSuffix、labels、images、replicas;通过 replacements 传递字段值;支持 remote bases 与组件(kind: Component)实现可复用特性捆绑。
用法:常用命令包括 kustomize build k8s/overlays/prod、kubectl apply -k k8s/overlays/prod、kustomize edit set image myapp=registry/myapp:v1.2.3、kustomize edit add configmap app-config --from-literal=KEY=value。补丁统一置于 patches 字段,自动识别 strategic merge 与 JSON 6902。
适用场景:多环境 Kubernetes 配置、资源打补丁、GitOps 集成(ArgoCD/Flux)以及 CI 中渲染与校验。
限制:失败模式多为静默(输出错误但退出码 0),结构变更前后应 diff 构建输出;helmCharts 需要 kustomize build --enable-helm,kubectl apply -k 不支持该参数;不支持移除指令、${VAR} 模板、构建期副作用与 glob;commonLabels、patchesStrategicMerge/patchesJson6902、vars 等已弃用。