OpenAI 解释 ChatGPT 等服务故障原因:K8s 循环依赖导致
12 月 12 日,OpenAI更新服务状态页面,在其中补充了对前一天 ChatGPT、Sora 及 API 服务宕机四个多小时事故的回顾。 OpenAI 表示,此次事件并非安全漏洞或新产品发布导致,而是源于一项内部系统升级。 OpenAI 工程师在 11 日下午部署了一项新的遥测服务,但由于配置失误,导致每个节点同时执行大量 Kubernetes API 操作,最终因服务器不堪重负、控制平面瘫痪。这进而引发 DNS 解析故障,导致服务间无法互相通信。 在此过程中,尽管 OpenAI 的监控系统在问题初期发出警报,但 DNS 缓存机制延迟了问题的暴露,使得故障在更大范围内蔓延。由于 Kubernetes 控制平面陷入死锁,工程师们经历了缩小集群规模、限制对 API 的访问、以及扩容服务器等多个步骤,才最终恢复了部分控制并移除了故障服务。 OpenAI 承认,此次事件暴露了测试和部署流程上的不足,例如只测试了小型预发布环境,没有评估对大型集群的潜在影响。相应地,OpenAI 承诺将采取一系列改进措施,包括实施更完善的阶段性发布流程、建立紧急 Kubernetes 控制平面访问机制、将 Kubernetes 数据平面和控制平面解耦等。 影响 在太平洋时间 2024 年 12 月 11 日下午 3:16 至晚上 7:38 之间,所有 OpenAI 服务均出现了严重降级或完全不可用。 这起事故源于我们在所有集群中推出的新遥测服务配置,并非由安全漏洞或近期产品发布所致。 从下午 3:16 开始,各产品性能均出现大幅下降。 •ChatGPT:在下午 5:45 左右开始大幅恢复,并于晚上 7:01 完全恢复。 •API:在下午 5:36 左右开始大幅恢复,于晚上 7:38 所有模型全部恢复正常。 •Sora:于晚上 7:01 完全恢复。 时间线 •2024 年 12 月 10 日:新的遥测服务部署到预发布集群,经测试无异常。 •2024 年 12 月 11 日 下午 2:23:引入该服务的代码合并到主分支,并触发部署流水线。 •下午 2:51 至 3:20:变更逐步应用到所有集群。 •下午 3:13:告警触发,通知到工程师。 •下午 3:16:少量客户开始受到影响。 •下午 3:16:根因被确认。 •下午 3:27:工程师开始把流量从受影响的集群迁移。 •下午 3:40:客户影响达到最高峰。 •下午 4:36:首个集群恢复。 •晚上 7:38:所有集群恢复。 询问AI