templates/ 是 Helm Chart 的核心引擎室

templates/ 是 Helm Chart 的核心引擎室 templates/是 Helm Chart 的核心引擎室。你可以把它理解为一个智能 YAML 工厂—— 你写一次模板Helm 根据values.yaml里的配置自动生产出适合不同环境的 Kubernetes YAML。与你学过的k8s/对比Tablek8s/文件夹helm/templates/文件夹性质静态 YAML写死配置动态模板用{{ }}语法占位环境切换需要手动改多个文件换一份values-xxx.yaml即可复用性低每个环境复制一份高模板只写一次维护成本高改一个地方要改多份低改模板一处生效templates/里每个文件的作用结合你在这个项目里看到的文件Table文件作用_helpers.tpl模板工具箱定义可复用的代码片段如生成统一标签、名称不会直接生成 K8s 资源deployment.yaml定义 Pod 怎么跑镜像、副本数、环境变量、资源限制等service.yaml定义集群内怎么访问这些 PodClusterIP/NodePort 等ingress.yaml定义外部流量怎么进来域名、路径路由、TLSconfigmap.yaml把配置数据如 API 地址注入容器secret.yaml把敏感数据如密码、Token注入容器pvc.yaml定义持久化存储数据库文件、上传文件不落盘hpa.yaml自动扩缩容规则CPU 80% 就多开 Podresourcequota.yaml限制整个命名空间能用多少 CPU/内存networkpolicy.yaml限制 Pod 之间谁能访问谁安全隔离serviceaccount.yaml给 Pod 分配集群内的权限身份RBACmonitoring.yaml监控相关配置ServiceMonitor 等notes.txt安装完成后给用户看的提示信息如访问地址核心语法看一个例子就懂假设templates/deployment.yaml里有这样一段yamlspec: replicas: {{ .Values.replicaCount.backend }} template: spec: containers: - name: backend image: {{ .Values.image.repository }}:{{ .Values.image.tag }} resources: requests: memory: {{ .Values.backend.resources.requests.memory }}然后values.yaml里配置yamlreplicaCount: backend: 3 image: repository: ghcr.io/xxx/camp-backend tag: v1.0.0 backend: resources: requests: memory: 512MiHelm 渲染后就变成你熟悉的原生 K8s YAMLyamlspec: replicas: 3 template: spec: containers: - name: backend image: ghcr.io/xxx/camp-backend:v1.0.0 resources: requests: memory: 512Mi一句话总结templates/存放的是带变量的 YAML 草稿Helm 负责把values.yaml里的值填进去生成最终交给 kubectl 执行的 Kubernetes 资源清单。学习时建议你做这件事打开templates/deployment.yaml找到所有{{ .Values.xxx }}的占位符去values.yaml里找到对应的值在脑子里手动渲染一遍看看最终 YAML 长什么样再对比k8s/backend-deployment.yaml你学过的原生版本体会差异这样你就能真正理解 Helm 的价值了。