Kustomize 是一个 Kubernetes 原生配置管理工具,允许用户通过覆盖和组合的方式来定制 Kubernetes 资源定义(YAML 文件),而无需直接修改原始文件。
Argo CD 与 Kustomize 的集成使得 GitOps 实践更加高效,能够实现声明式的持续交付,示例如下:
如果 repoURL
和 path
指向的位置存在 kustomization.yaml
文件,Argo CD 将使用 Kustomize 呈现清单。
Kustomize 有以下配置选项:
namePrefix
:附加在 Kustomize 生成的资源名称上的前缀。nameSuffix
:附加在 Kustomize 生成的资源名称上的后缀。images
:Kustomize 图像覆盖列表。replicas
:Kustomize 副本覆盖列表。commonLabels
:附加到所有资源的标签映射。labelWithoutSelector
:布尔值,定义是否将通用标签应用于资源选择器和模板。forceCommonLabels
:布尔值,允许覆盖现有标签。commonAnnotations
:附加到所有资源的注释映射。namespace
:Kubernetes 资源命名空间。forceCommonAnnotations
:布尔值,允许覆盖现有注释。commonAnnotationsEnvsubst
:布尔值,允许在注释值中使用环境变量替换。patches
:支持内联更新的 Kustomize 补丁列表。components
:Kustomize 组件列表。要将 Kustomize 与覆盖一起使用,请将路径指向覆盖目录。
更加详细的说明请参考:Kustomize