0Pricing
MLOps Academy · 课时

使用 ConfigMaps 和 Secrets 进行配置

将模型配置和凭据外置

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

不要将配置放入镜像

将模型路径或阈值写入容器后,每次调整都必须重新构建。Kubernetes 允许您改为在运行时注入配置。🔧

ConfigMap 保存普通设置

ConfigMap用于存储非机密的键值对,例如模型名称、批处理大小和日志级别。一个配置对象可以供多个 Pod 读取。

apiVersion: v1
kind: ConfigMap
metadata:
  name: model-config
data:
  MODEL_NAME: "ranker-v3"
  BATCH_SIZE: "32"

注入为环境变量

最简单的用法是将 ConfigMap 的键映射到环境变量。这样,您的 Python 代码就可以像在本地一样读取 os.environ。

或将其挂载为文件

您也可以将ConfigMap挂载为卷,把每个键转换为一个文件。这对于模型加载器需要从磁盘读取的完整配置文件很有用。

Secret 用于敏感数据

API 令牌、数据库密码和镜像仓库凭据应放入Secret,绝不能放入 ConfigMap。原理相同,但集群会将其作为机密处理。

Base64 不是加密

Secret 的值以 Base64 编码存储,这只是编码,并不提供安全保护。任何拥有读取权限的人都可以解码,因此请谨慎保护访问权限。

静态加密 Secret

如需真正的保护,请在 etcd 中启用静态加密,或使用 Vault 等外部管理器。仅使用 Base64 永远无法保护您的模型凭据。

安全地使用 Secret

与 ConfigMap 一样,您可以将Secret挂载为环境变量或文件。令牌最好使用文件,因为环境变量可能泄露到日志和崩溃转储中。

envFrom:
  - secretRef:
      name: model-creds
  - configMapRef:
      name: model-config

一个来源,多个 Pod

更新一次ConfigMap后,所有挂载它的 Pod 都可以获取更改。不过,注入为环境变量的配置需要重启 Pod 才能刷新。

重启以获取环境变量更改

更改作为环境变量使用的值不会自动热加载。请触发 Deployment 的滚动重启,让 Pod 读取新配置。

为每个环境分开配置

为开发环境和生产环境分别保留一个ConfigMap。相同的镜像配合不同的配置,意味着发布模型时无需重新构建容器。

快速检查

模型服务应该从哪里获取数据库密码?

回顾

使用ConfigMap保存普通设置,使用 Secret 保存敏感设置,在运行时注入二者,并重启 Pod 以刷新基于环境变量的值。✅

常见问题解答

「使用 ConfigMaps 和 Secrets 进行配置」课时是免费的吗?

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

「使用 ConfigMaps 和 Secrets 进行配置」这节课中我会学到什么?

将模型配置和凭据外置 你通过在浏览器中直接运行的动手代码来练习 MLOps Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 MLOps Academy 需要有经验吗?

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

「使用 ConfigMaps 和 Secrets 进行配置」课时需要多长时间?

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

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

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

此课程中的所有课时

  1. 用于模型的 Pod、部署和服务
  2. 申请 CPU、内存和 GPU
  3. 使用 ConfigMaps 和 Secrets 进行配置
  4. 将训练作为 Kubernetes 任务运行
← 返回 MLOps Academy