核心要点

  • 能定义 IaC 用代码声明基础设施

  • 理解版本化、审查、可重复部署

  • 知道 Terraform/Pulumi/CloudFormation 在 ML 场景

  • 能举例 GPU 集群、K8s、网络配置

简要回答

IaC 用 Terraform 等声明式配置 ML 基础设施(K8s 集群、GPU 节点池、S3、IAM),可版本审查、一键复现与销毁,消除手工点控制台漂移。

标准回答

一、先给出结论和背景

  • 基础设施即代码(IaC):用代码(Terraform、Pulumi、CDK)定义云资源,Git 版本管理,CI 自动 apply。
  • 可复现环境:- 训练集群、推理 EKS/GKE、S3 bucket、IAM 角色一键创建
  • 新成员/新区域环境与 prod 一致
  • 变更治理:- PR review 基础设施变更(如开放 0.0.0.0/0)
  • 审计谁何时改了 GPU 配额

二、拆开关键步骤和判断点

  • 成本与生命周期:- terraform destroy 回收临时训练集群防遗忘计费
  • 环境分 dev/staging/prod workspace 隔离
  • ML 特定资源:- GPU 实例类型、Spot 策略、EFS 共享存储
  • SageMaker/Vertex 端点配置
  • 网络:VPC peering 连数据仓

三、补上落地边界和取舍

  • 与 CI/CD 集成:- 模型部署 pipeline 依赖的 K8s namespace、Ingress、Secret 同步 provision
  • 实践:模块化管理(networking/compute/ml-serving);state 远程存储(S3+lock);敏感值用 Vault。详见 MLOps 入门AI 工程

面试里要把 基础设施即代码IaC如何支撑机器学习运维 放到训练到上线的链路里说:离线指标只是第一步,还要补特征一致性、版本管理、灰度实验、监控漂移和回滚方案。这样能证明你理解的是生产系统,而不是只会背流程图。

回答思路

  • 【定义】用一句话说清「基础设施即代码(IaC)如何支撑机器学习运维」

  • 【原理】讲清关键机制或步骤(2~3 点)

  • 【例子】举一个真实项目、论文或产品中的例子

  • 【对比】与易混淆概念或替代方案比较(如有)

  • 【收尾】总结适用场景 + 一个局限或风险

延伸学习

延伸阅读:AI 工程基础设施MLOps 入门。术语:MLOpsGPU 集群可观测性

常见误区

⚠️ 常见踩坑

误区一:容易答偏的地方:把 Dockerfile 当成全部 IaC;手工改生产资源无记录;state 文件不远程锁导致冲突。

追问

追问 1IaC 和 Helm chart 分工?

Terraform provision 云资源(节点池、LB);Helm 部署 K8s 上应用(MLflowKServe)。层次:云 → 集群 → 工作负载。

追问 2如何处理 IaC 中的密钥?

不进 Git plaintext;用 AWS Secrets Manager/HashiCorp Vault;Terraform data source 运行时注入;K8s External Secrets Operator 同步。

追问 3Drift 检测是什么?

有人手工改控制台导致与代码不一致。定期 terraform plan 检测 drift;告警并选择 import 或 revert 手工变更。

🔗 相似问题

同一考点的不同问法,换着练更稳

延伸学习

按主题分类的相关资源,便于系统复习