K8S Helm

一句话总结(最关键)

K8S YAML = 原材料
Helm = 模板引擎 + 包管理器
Helm 最终还是生成 K8S YAML 去部署


详细讲清楚(一看就懂)

1. K8S YAML 是什么?

就是你平时写的:

  • deployment.yaml
  • service.yaml
  • ingress.yaml
  • configmap.yaml

它是 K8S 唯一能看懂的语言,K8S 只认 YAML。

缺点:

  • 写起来重复
  • 环境不同(dev/test/prod)要改很多地方
  • 几十个微服务要维护几百个 YAML,非常乱

2. Helm 是什么?

Helm 就是 帮你自动生成、管理、批量部署 YAML 的工具

它做两件事:

  1. 把 YAML 变成模板(变量化)
  2. 打包、版本、升级、回滚

3. 它们的关系(最核心)

复制代码
Helm 模板
   ↓ (渲染)
K8S YAML 文件
   ↓ (提交)
K8S 集群运行

真实流程:

  1. 你写 Helm 模板(带变量的 YAML)
  2. Helm 把模板 + 配置 → 生成最终 K8S YAML
  3. Helm 把 YAML 发给 K8S
  4. K8S 只认 YAML,执行部署

用一个例子秒懂

原始 K8S YAML(硬编码)

yaml 复制代码
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 2
  template:
    spec:
      containers:
      - image: nginx:1.25

缺点:换环境就要手动改版本、副本数。


Helm 模板(变量化 YAML)

yaml 复制代码
apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ .Release.Name }}-nginx
spec:
  replicas: {{ .Values.replicaCount }}
  template:
    spec:
      containers:
      - image: {{ .Values.image.repository }}:{{ .Values.image.tag }}

这些 {``{ }} 就是变量,Helm 会替换它们。


values.yaml(配置文件)

yaml 复制代码
replicaCount: 3
image:
  repository: nginx
  tag: 1.25-alpine

Helm 最终生成的还是标准 K8S YAML

yaml 复制代码
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-nginx
spec:
  replicas: 3
  template:
    spec:
      containers:
      - image: nginx:1.25-alpine

结论:

Helm 不创造新东西,它只是 YAML 的管理者。


三者关系终极总结(超级好记)

  1. K8S YAML

    K8S 唯一能识别的部署文件。

  2. Helm

    用来:

    • 模板化 YAML
    • 批量管理 YAML
    • 版本化 YAML
    • 一键部署/升级/回滚
  3. Helm 最终还是生成 YAML 给 K8S

    所以它们的关系是:

    Helm → 生成 → K8S YAML → 交给 → K8S


总结

不用 Helm,你要维护几百个 YAML;
用 Helm,一套模板走所有环境。

相关推荐
SPC的存折2 小时前
1、K8S-单Master集群部署-OpenEuler24.03
云原生·容器·kubernetes
Cat_Rocky2 小时前
k8s-单Master集群部署(简练理解)
java·容器·kubernetes
眷蓝天2 小时前
K8S 单 Master 集群在 openEuler 24.03 上的部署指南
容器·kubernetes·php
雨奔3 小时前
Kubernetes 核心对比:ReplicationController 与 Deployment 该如何选择?
云原生·容器·kubernetes
东北甜妹3 小时前
K8s 集群
云原生·容器·kubernetes
Devin~Y3 小时前
大厂Java面试实战:Spring Boot/Cloud + Redis/Kafka + K8s + RAG/Agent 追问全流程(小Y翻车记)
java·spring boot·redis·spring cloud·kafka·kubernetes·micrometer
Cyber4K3 小时前
【Kubernetes专项】温故而知新,重温技术原理(1)
云原生·容器·架构·kubernetes
深念Y4 小时前
Docker Windows C盘爆满迁移到D盘:完整试错与成功路径
windows·docker·wsl·镜像·清理·迁移·c盘
拄杖忙学轻声码4 小时前
Docker Swarm 集群部署应用容器常见问题解决
docker·容器