概览与核心价值Helm 通过 Chart 与 values 参数化实现可复用的部署模板。合理的目录结构与环境隔离可显著提升发布效率与一致性。标准 Chart 结构myapp/
Chart.yaml
values.yaml
values-dev.yaml
values-prod.yaml
templates/
deployment.yaml
service.yaml
ingress.yaml
示例模板:# templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "myapp.fullname" . }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
app: {{ include "myapp.name" . }}
template:
metadata:
labels:
app: {{ include "myapp.name" . }}
spec:
containers:
- name: {{ include "myapp.name" . }}
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
resources:
requests:
cpu: {{ .Values.resources.requests.cpu }}
memory: {{ .Values.resources.requests.memory }}
示例 values:replicaCount: 3
image:
repository: myapp
tag: 1.0.0
resources:
requests:
cpu: 200m
memory: 256Mi
多环境参数化helm install myapp ./myapp -f values-dev.yaml
helm upgrade myapp ./myapp -f values-prod.yaml --set image.tag=2.0.0
参数与验证环境:`Helm v3.13`、`Kubernetes v1.28`。验证点:模板渲染正确,变量替换生效dev/prod 不同 values 下资源配置与镜像版本差异化升级与回滚(`helm rollback`)在失败时快速恢复最佳实践将环境差异放入独立 `values-*.yaml`,避免模板复杂化使用 `include` 与 `tpl` 等模板函数提升复用性在 CI 中先 `helm template` 再进行 `upgrade`,保障可预见性结论通过标准化 Chart 结构与多环境 values 管理,Helm 能实现高效、可验证的部署与版本治理。

发表评论 取消回复