0Pricing
DevOps Bootcamp · 课时

最小化 Deployment 模板

将静态清单转换为 Chart 模板

最小化 Deployment 模板 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 4 节课。

从静态清单到模板

应用包就是一个由模板组成的文件夹。每个模板都是一个 Kubernetes 清单,其中包含 Helm 在安装时填充的占位符。

从普通 Deployment 开始

在添加任何复杂功能之前,先编写您已经熟悉的清单。这里有一个硬编码的部署资源,运行一个 nginx Pod。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: my-app

将它放入 templates

将该文件保存为应用包中的 templates/deployment.yaml。templates 中的所有内容都会被渲染并发送到集群。

发布版本名称是动态的

硬编码名称很脆弱。Helm 将发布版本名称公开为 .Release.Name,因此每次安装都会获得唯一的标识。

metadata:
  name: {{ .Release.Name }}

从 values.yaml 读取值

用户可能更改的设置存放在 values.yaml 中,并通过 .Values 读取。这样副本数就可以配置,而不再是固定值。

spec:
  replicas: {{ .Values.replicaCount }}

定义默认值

要让 .Values.replicaCount 能够解析,请在 values.yaml 中为它设置默认值。用户之后无需修改模板即可覆盖它。

# values.yaml
replicaCount: 1

选择器必须匹配标签

部署的选择器必须与容器组模板的标签完全匹配,否则 Kubernetes 会拒绝它。请在各处复用同一个一致的标签。

selector:
  matchLabels:
    app: {{ .Release.Name }}

容器组模板部分

在 spec.template 内描述实际的容器组:它的标签和容器。这就是 Helm 将部署到集群中的工作负载。

template:
  metadata:
    labels:
      app: {{ .Release.Name }}
  spec:
    containers: []

添加容器

每个容器都需要一个名称和一个镜像。目前镜像是硬编码的,您将在下一课中将其参数化。

containers:
  - name: app
    image: nginx:1.27

渲染以检查您的成果

运行 helm template .,查看 Helm 在本地生成的最终 YAML,不涉及任何集群。安装前请先阅读它。

helm template my-release .

完整的最小模板

这些部分组合起来就构成了一个小巧但真实的部署模板:名称和标签由发布驱动,副本数由值驱动。

spec:
  replicas: {{ .Values.replicaCount }}
  selector:
    matchLabels:
      app: {{ .Release.Name }}

快速检查

哪个内置对象会提供已安装发布的唯一名称?

回顾:您的第一个模板

您将静态部署转换成了模板:使用 .Release.Name 表示身份,使用 .Values 表示设置。使用 helm template 进行渲染以验证结果。🎉

常见问题解答

「最小化 Deployment 模板」课时是免费的吗?

是的 — 「最小化 Deployment 模板」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。

「最小化 Deployment 模板」这节课中我会学到什么?

将静态清单转换为 Chart 模板 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 DevOps Bootcamp 需要有经验吗?

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

「最小化 Deployment 模板」课时需要多长时间?

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

我能在这节 DevOps Bootcamp 课中编写并运行代码吗?

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

此课程中的所有课时

  1. 最小化 Deployment 模板
  2. 参数化容器镜像
  3. 添加 Service 模板
  4. 安装并迭代您的 Chart
← 返回 DevOps Bootcamp