k8s helm模板
时间: 2025-01-07 18:56:23 浏览: 9
### Kubernetes Helm 模板使用教程
#### 创建新的 Helm 图表
为了简化新图表的创建过程,`helm create` 命令提供了一种便捷的方法来初始化项目结构。执行此命令后会自动生成一系列标准配置文件,包括 `Chart.yaml`, `values.yaml`, 以及多个资源定义文件如 `deployment.yaml`, `service.yaml`, 和其他必要的 YAML 文件[^1]。
```bash
$ helm create mychart
```
这将在当前工作目录下建立名为 `mychart` 的子目录,并填充上述提到的各种样板文件。
#### 控制结构的应用
Helm 支持多种控制逻辑以便更灵活地构建动态模板。主要使用的有:
- **if/else**: 实现条件判断;
- **with**: 设定作用域;
- **range**: 进行列表遍历;
这些关键字允许开发者基于输入参数调整最终渲染出来的 K8s 资源描述文档的内容[^2]。
例如,在 `_helpers.tpl` 中可以找到如下片段用于生成服务名:
```go
{{- define "fullname" -}}
{{ .Release.Name }}-{{ template "name" . }}
{{- end -}}
{{/* Template: name */}}
{{- define "name" -}}
{{ default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-}}
```
这段 Go 模板语法展示了如何组合发布实例的名字与其他变量形成完整的 DNS 友好型字符串。
#### 定义可重用组件
对于那些频繁重复出现的部分,可以通过 `define` 来声明独立的功能单元,之后再通过 `template` 或者 `include` 函数调用它们。通常这类辅助函数会被放置于以连字符打头的特殊文件里,比如常见的 `templates/_helpers.tpl`[^3]。
---
阅读全文