最小化 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 反馈 — 无需本地设置。
此课程中的所有课时
- 最小化 Deployment 模板
- 参数化容器镜像
- 添加 Service 模板
- 安装并迭代您的 Chart