从 Helm 迁移到 Kustomize

适用场景

希望去掉模板和 Release 状态,改用纯 YAML + overlay 管理自有应用;或 GitOps 中更偏好 Kustomize 的声明式叠加。

前置条件

步骤

  1. 渲染 Helм 模板:
helm template app ./chart -f values-prod.yaml -n prod > base.yaml
  1. 拆分基础清单和 overlay:
base/
  deployment.yaml
  service.yaml
  kustomization.yaml
overlays/
  staging/kustomization.yaml
  prod/kustomization.yaml
  1. 编写 base/kustomization.yaml:
resources:
  - deployment.yaml
  - service.yaml
  1. 编写 overlay:
resources:
  - ../../base
namespace: prod
images:
  - name: registry.example.com/app
    newTag: "1.2.3"
patches:
  - path: replicas.yaml
  1. 渲染并对比:
kustomize build overlays/prod > rendered.yaml
kubectl diff -f rendered.yaml
kubectl apply -k overlays/prod

验证

回滚

常见坑

相关命令