接下来是月日事故大概情况:
12 月 11 日太平洋标准时间下午 3:12,这导致大多数集群中的宕挡门点网 K8S 数据面瘫痪无法再提供服务 。也就是机报导致服务无法相互连接,导致 API 服务器不堪重负而宕机,告集但 DNS 依赖于控制面 ,群出工程师部署新的现死循环遥测服务来收集 K8S 控制面指标 ,但由于许多服务试图同时下载资源导致资源限制饱和并需要额外的把工手动干预 ,
而不堪重负的程师 API 操作破坏了基于 DNS 的服务发现 ,其中有个负责集群管理的外蓝控制面和数据面 ,
最终的发布处理方式 :
OpenAI 工程师探索快速恢复集群的不同方法,
OpenAI 采用的月日后端服务架构:
OpenAI 的后端服务都运行在全球数百个 Kubernetes 集群中,Sora 长时间宕机的宕挡门点网原因:架构问题将工程师锁在门外出现了死循环。也就是机报能够重新连接 K8S 控制面并删除有问题的服务,但工程师也需要连接集群才能回滚,告集由于遥测服务覆盖范围非常广,这就造成了死循环,
不过 OpenAI 也出现了和某些公司相同的错误 :服务挂了后把工程师也给锁门外了,没想到 OpenAI 也存在类似的问题。这种死循环在其他公司的事故中也挺常见,此次宕机只是个小更改导致的,但现在控制面已经挂了因此工程师们也无法成功连接,那为什么 3 分钟就成功定位问题但要花费大量时间才能解决呢?
原因在于要回滚刚刚的遥测服务需要先到 K8S 控制面上把旧服务删除,因此这个新服务配置无意中导致每个集群上的每个节点都执行资源密集型的 K8S API 操作 。而且这个小更改仅在部署 3 分钟后就被发现出现问题 ,一旦重新连接就可以回滚遥测服务更改逐渐恢复集群。而不是将工程师锁在门外。即工程师无法正常连接控制面进行问题处理 。扩大 K8S API 服务器增加可用资源来处理请求。API、#人工智能 OpenAI 公布 12 月 11 日 ChatGPT、那么服务就不知道如何相互联系。
经过这次事故相信 OpenAI 应该能学到解决死循环问题,包括缩小集群规模减少对 K8S 的 API 负载、
由于数千个节点同时执行资源密集型的 APi 操作,阻止对用于管理的 K8S API 访问让服务器能够恢复、至少下次再发生类似情况是可以快速连接解决问题 ,然而这形成死循环导致工程师无法连接,
最终这三项工作同时进行让工程师们重新获得控制权 ,
K8S 数据面很大程度上确实可以独立于控制面运行 ,
期间工程师们还将流量转移到已经恢复的集群或新增的健康的集群中,按理说这么快发现问题应该是很容易解决的 。这样继续降低其他问题集群的负载然后进行处理 ,如果没有 K8S 控制面 ,OpenAI 部署的更改导致集群挂了 ,只能挨个对集群慢慢处理于是造成了长达 4 小时 10 分钟的宕机 。查看全文:https://ourl.co/107098
12 月 11 日 OpenAI ChatGPT 和 Sora 等服务出现长达 4 小时 10 分钟的宕机 ,OpenAI 向用户提供服务的是 K8S 数据面。
via OpenAI Status