用途:在 Kubernetes 配置管理中,用 Kustomize 生成器替代手写 ConfigMap 与 Secret 的 YAML,从字面量、文件或环境文件自动生成资源,并管理凭据与环境差异配置。
主要能力:configMapGenerator 支持 literals、files、envs 及混合来源,可用“键名=文件路径”命名文件;secretGenerator 支持 Opaque、kubernetes.io/tls、kubernetes.io/dockerconfigjson 等类型,可从证书、Docker 配置、SSH 密钥文件生成。生成资源名称默认带内容哈希后缀,配置变化可触发 Pod 自动滚动更新。behavior 支持 create(默认,已存在则失败)、replace(整体替换,不存在则失败)、merge(在 overlay 中覆盖部分键)。options 支持 disableNameSuffixHash、immutable、labels、annotations。可与 commonLabels、namePrefix、namespace 等转换器组合。
使用方式:在 kustomization.yaml 中声明生成器,用 kustomize build . 查看或导出结果,用 kubectl apply -k . 应用,用 kubectl apply --dry-run=client 或 kubectl diff 校验。消费方式包括 envFrom、configMapKeyRef/secretKeyRef、卷挂载,敏感文件挂载可设 readOnly 与 mode: 0400。
适用场景:多环境配置覆盖、微服务配置、数据库与 Redis 配置、监控配置、功能开关、TLS 证书与私有镜像仓库凭据、SSH 密钥等。
限制:资料未提供该技能的安装命令、版本要求、收费与平台信息;生成器行为与字段以所用 Kustomize 版本为准,敏感文件应置于版本控制之外。