跳到主要内容

2 篇博文 含有标签「kubernetes」

查看所有标签

为什么 AI 生成的 Terraform 和 Kubernetes 配置在潜移默化中出错

· 阅读需 13 分钟
Tian Pan
Software Engineer

大多数平台工程师都有过类似的故事:他们让 AI 助手生成一个 Terraform 模块或 Kubernetes 部署清单,结果看起来非常合理,CI 流水线也顺利通过了,但几周后坏事发生了。一个带有通配符权限的 IAM 角色。一个本不该公开的 S3 存储桶。一个因为没人检查安全上下文(security context)而以 root 身份运行的 Kubernetes pod。

核心问题不在于 LLM 写错了语法 —— 它们很少犯这种错。问题在于 IaC 的正确性与语法几乎无关。一个 terraform validate 允许通过的 Terraform 文件仍可能部署出一个安全灾难。一个 kubectl apply --dry-run=client 允许通过的 Kubernetes 清单仍可能调度具有危险能力的 pod。你的 CI 流水线用来检查代码的工具大多检查错了重点。

混合 LLM 工作负载的 GPU 调度:那个没人解决好的装箱问题

· 阅读需 12 分钟
Tian Pan
Software Engineer

大多数运行 LLM 推理的 GPU 集群正在浪费 30% 到 50% 的可用算力。这并非因为工程师粗心,而是因为调度问题本身极为困难——而大多数团队首先想到的工具根本不是为此设计的。

标准做法是搭建 Kubernetes,为每个 Pod 申请完整的 GPU,然后让调度器自行处理。这对训练任务运行良好。但对于处理异构模型集合的推理场景,这种方式会悄悄摧毁利用率。一个运行三个不同 7B 模型且流量稀疏的集群,每个 GPU 的实际繁忙时间可能不足 15%,同时却处于完全"已分配"状态,拒绝调度任何新任务。

根本原因在于 Kubernetes 理解 GPU 的方式与 LLM 推理实际需求之间的错配。