机报集群环把在门月1外 网蓝点T宕告工程1日出现死循师挡发布

OpenAI 部署的发布更改导致集群挂了 ,#人工智能 OpenAI 公布 12 月 11 日 ChatGPT 、月日OpenAI 向用户提供服务的宕挡门点网是 K8S 数据面 。但 DNS 依赖于控制面,机报工程师部署新的告集遥测服务来收集 K8S 控制面指标 ,没想到 OpenAI 也存在类似的群出问题。

不过 OpenAI 也出现了和某些公司相同的现死循环错误 :服务挂了后把工程师也给锁门外了 ,而不是把工将工程师锁在门外 。其中有个负责集群管理的程师控制面和数据面,

由于数千个节点同时执行资源密集型的外蓝 APi 操作 ,导致 API 服务器不堪重负而宕机 ,发布这种死循环在其他公司的月日事故中也挺常见,也就是宕挡门点网能够重新连接 K8S 控制面并删除有问题的服务 ,但现在控制面已经挂了因此工程师们也无法成功连接,机报那为什么 3 分钟就成功定位问题但要花费大量时间才能解决呢?告集

原因在于要回滚刚刚的遥测服务需要先到 K8S 控制面上把旧服务删除 ,API、只能挨个对集群慢慢处理于是造成了长达 4 小时 10 分钟的宕机 。按理说这么快发现问题应该是很容易解决的。

接下来是事故大概情况:

12 月 11 日太平洋标准时间下午 3:12 ,然而这形成死循环导致工程师无法连接,查看全文:https://ourl.co/107098

12 月 11 日 OpenAI ChatGPT 和 Sora 等服务出现长达 4 小时 10 分钟的宕机,也就是导致服务无法相互连接,Sora 长时间宕机的原因:架构问题将工程师锁在门外出现了死循环。

K8S 数据面很大程度上确实可以独立于控制面运行 ,但工程师也需要连接集群才能回滚,阻止对用于管理的 K8S API 访问让服务器能够恢复、如果没有 K8S 控制面 ,那么服务就不知道如何相互联系。至少下次再发生类似情况是可以快速连接解决问题 ,扩大 K8S API 服务器增加可用资源来处理请求  。这就造成了死循环,由于遥测服务覆盖范围非常广 ,因此一些集群花费了大量时间才完成恢复 。但由于许多服务试图同时下载资源导致资源限制饱和并需要额外的手动干预 ,此次宕机只是个小更改导致的  ,

期间工程师们还将流量转移到已经恢复的集群或新增的健康的集群中 ,而且这个小更改仅在部署 3 分钟后就被发现出现问题,这导致大多数集群中的 K8S 数据面瘫痪无法再提供服务。包括缩小集群规模减少对 K8S 的 API 负载、

via OpenAI Status

经过这次事故相信 OpenAI 应该能学到解决死循环问题 ,

最终这三项工作同时进行让工程师们重新获得控制权 ,即工程师无法正常连接控制面进行问题处理。

OpenAI 采用的后端服务架构 :

OpenAI 的后端服务都运行在全球数百个 Kubernetes 集群中,这样继续降低其他问题集群的负载然后进行处理 ,

最终的处理方式 :

OpenAI 工程师探索快速恢复集群的不同方法,因此这个新服务配置无意中导致每个集群上的每个节点都执行资源密集型的 K8S API 操作 。一旦重新连接就可以回滚遥测服务更改逐渐恢复集群 。

而不堪重负的 API 操作破坏了基于 DNS 的服务发现 ,