0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · 课时

持续集成与持续交付中的 Helm Chart 和 Kubernetes 清单

使用 Helm Chart 打包并管理 Kubernetes 部署,按环境模板化配置,并从 GitHub Actions 自动发布 Chart

持续集成与持续交付中的 Helm Chart 和 Kubernetes 清单 是 CoddyKit 上的免费 CI/CD with GitHub Actions & DevOps Pipelines 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 CI/CD with GitHub Actions & DevOps Pipelines 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 CI/CD with GitHub Actions & DevOps Pipelines 课程共包含 4 节课。

清单泛滥问题

部署到 Kubernetes 意味着要编写许多 YAML 清单:部署、服务、ConfigMaps、入口。为每个环境复制这些清单,很快就会变得难以管理。

Helm 通过将清单打包成可复用、带版本的图表来解决这一问题。

什么是 Helm

Helm 是 Kubernetes 的包管理器。图表是一组模板化清单和默认值。

  • Chart.yaml — 图表元数据和版本
  • values.yaml — 默认配置
  • templates/ — 清单模板

图表结构

典型的图表目录如下所示。Helm 使用这些值渲染模板,以生成最终的 Kubernetes YAML。

mychart/
  Chart.yaml
  values.yaml
  templates/
    deployment.yaml
    service.yaml

使用值进行模板化

模板使用从 values.yaml 中读取值的占位符。这样,一个模板就可以服务于多个环境。

# templates/deployment.yaml
spec:
  replicas: {{ .Values.replicaCount }}
  image: {{ .Values.image.repository }}:{{ .Values.image.tag }}

各环境的值

为每个环境保留一个单独的值文件,并在安装时传入该文件。预发布环境可能运行 1 个副本,生产环境运行 5 个副本。

helm upgrade --install myapp ./mychart \
  -f values-prod.yaml \
  --namespace production

安装与升级

helm upgrade --install 命令具有幂等性:如果发布版本不存在,就安装它;如果已经存在,就升级它。

这个单一命令非常适合 CI/CD,因为它既适用于首次部署,也适用于后续部署。

在 CI 中设置镜像标签

在 CI 中,您通常会使用 --set 注入刚构建的镜像标签(通常是提交 SHA)。

这样,Kubernetes 发布版本就会与流水线刚刚生成的确切构件关联起来。

  - run: |
      helm upgrade --install myapp ./mychart \
        --set image.tag=${{ github.sha }}

检查图表

部署前,请使用 helm lint 验证图表,并使用 helm template 渲染图表,以便尽早发现 YAML 或模板错误。

  - run: helm lint ./mychart
  - run: helm template myapp ./mychart -f values-prod.yaml

使用 Helm 回滚

Helm 会将每次发布记录为带编号的修订版本。如果部署出现问题,您可以立即回滚。

这与灾难恢复实践非常契合,因为回滚快速且结果确定。

helm history myapp
helm rollback myapp 3

打包与发布

Chart 可以打包成带版本号的存档,并推送到 Chart 仓库或 OCI 注册表,就像容器镜像一样。

这样,其他团队就可以按版本使用您的 Chart。

helm package ./mychart
helm push myapp-1.2.0.tgz oci://registry.example.com/charts

一个 Helm 部署作业

将这些步骤组合起来:向集群进行身份验证、设置 Helm,然后执行升级。Azure 的 setup-helm action 会在运行器上安装 CLI。

  - uses: azure/setup-helm@v4
  - run: |
      helm upgrade --install myapp ./mychart \
        -f values-prod.yaml \
        --set image.tag=${{ github.sha }} \
        --wait

快速检查

测试您对 Helm 在 CI/CD 中应用方式的理解。

回顾

您学会了使用 Helm 部署 Kubernetes 应用。

  • Chart 会打包模板化的清单以及 values.yaml
  • 按环境分别设置 values 文件,以配置预发布环境和生产环境
  • helm upgrade --install 是 CI 中幂等的部署命令
  • 修订版本支持即时回滚,Chart 也可以像镜像一样发布

Helm 将原始清单转换为带版本号且可复用的发布版本。

常见问题解答

「持续集成与持续交付中的 Helm Chart 和 Kubernetes 清单」课时是免费的吗?

是的 — 「持续集成与持续交付中的 Helm Chart 和 Kubernetes 清单」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 CI/CD with GitHub Actions & DevOps Pipelines 课程的其余内容,请升级到 CoddyKit PRO。 CI/CD with GitHub Actions & DevOps Pipelines 课程共包含 4 节课。

「持续集成与持续交付中的 Helm Chart 和 Kubernetes 清单」这节课中我会学到什么?

使用 Helm Chart 打包并管理 Kubernetes 部署,按环境模板化配置,并从 GitHub Actions 自动发布 Chart 你通过在浏览器中直接运行的动手代码来练习 CI/CD with GitHub Actions & DevOps Pipelines,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 CI/CD with GitHub Actions & DevOps Pipelines 需要有经验吗?

无需任何先前经验。CoddyKit 上的 CI/CD with GitHub Actions & DevOps Pipelines 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「持续集成与持续交付中的 Helm Chart 和 Kubernetes 清单」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 CI/CD with GitHub Actions & DevOps Pipelines 课中编写并运行代码吗?

能。每节 CI/CD with GitHub Actions & DevOps Pipelines 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 使用 Actions 构建 Docker 镜像
  2. 将镜像推送到镜像仓库
  3. 使用 Actions 部署到 Kubernetes
  4. 持续集成与持续交付中的 Helm Chart 和 Kubernetes 清单
← 返回 CI/CD with GitHub Actions & DevOps Pipelines