OpenAI недавно опубликовала подробный отчет об отключении сервисов ChatGPT и Sora 11 декабря на 4 часа 10 минут. Этот инцидент затронул многих пользователей и привлек всеобщее внимание. В отчете подробно объясняется причина сбоя, трудности, с которыми столкнулись инженеры, а также окончательный процесс восстановления работоспособности, а также предоставляются ценные уроки для других технических групп. В отчете четко объясняется основная причина сбоя, а также ряд экстренных мер, принятых инженерами в случае крушения самолета управления, что отражает способность OpenAI реагировать на чрезвычайные ситуации.
На прошлой неделе (11 декабря) сервисы OpenAI ChatGPT и Sora были недоступны на 4 часа 10 минут, что затронуло многих пользователей. Теперь OpenAI официально публикует подробный отчет об отключении ChatGPT.
Проще говоря, первопричиной этой неисправности было небольшое изменение, но оно привело к серьёзным последствиям. В критический момент инженеры оказались заперты на руле и не смогли вовремя справиться с проблемой. Что касается этого сбоя, инженеры OpenAI после обнаружения проблемы быстро приступили к ряду ремонтных работ, включая уменьшение размера кластера, блокировку сетевого доступа к API управления Kubernetes и увеличение ресурсов сервера Kubernetes API. После нескольких раундов усилий инженеры наконец восстановили доступ к части плоскости управления Kubernetes и предприняли шаги по перенаправлению трафика на работоспособные кластеры, в конечном итоге добившись полного восстановления системы.
Инцидент произошел в 15:12 по тихоокеанскому времени, когда инженеры развернули новую службу телеметрии для сбора метрик плоскости управления Kubernetes (K8S). Однако служба была непреднамеренно настроена слишком широко, в результате чего каждый узел в каждом кластере одновременно выполнял ресурсоемкие операции API K8S. Эта ситуация быстро привела к сбою сервера API, в результате чего плоскость данных K8S большинства кластеров потеряла возможности обслуживания.
Стоит отметить, что хотя плоскость данных K8S теоретически может работать независимо от плоскости управления, функциональность DNS зависит от плоскости управления, что делает невозможным взаимодействие служб друг с другом. Когда операции API перегружены, механизм обнаружения сервиса повреждается, что приводит к параличу всего сервиса. Хотя проблема была обнаружена в течение 3 минут, инженеру не удалось получить доступ к плоскости управления для отката службы, что привело к ситуации «бесконечного цикла». Авария самолета управления не позволила им удалить проблемную службу, что сделало восстановление невозможным.
Инженеры OpenAI сразу же начали изучать различные способы восстановления кластера. Они попытались уменьшить размер кластера, чтобы уменьшить нагрузку API на K8S, и заблокировали доступ к API управления K8S, чтобы серверы могли возобновить нормальную работу. Кроме того, они также расширили конфигурацию ресурсов API-сервера K8S для лучшей обработки запросов. После ряда усилий инженеры наконец восстановили контроль над плоскостью управления K8S, смогли удалить неисправный сервис и постепенно восстановить кластер.
В течение этого периода инженеры также перемещали трафик на восстановленные или вновь добавленные исправные кластеры, чтобы снизить нагрузку на другие кластеры. Однако, поскольку многие службы пытались восстановиться одновременно, что привело к насыщению ресурсов, процесс восстановления потребовал дополнительного ручного вмешательства, а восстановление некоторых кластеров заняло много времени. Ожидается, что благодаря этому инциденту OpenAI извлечет уроки из своего опыта и избежит повторной «блокировки» при возникновении подобных ситуаций в будущем.
Подробности отчета: https://status.openai.com/incidents/ctrsv3lwd797.
Выделять:
Причина сбоя: небольшие изменения в службе телеметрии привели к перегрузке операций API K8S, что привело к параличу службы.
Дилемма инженера: авария в плоскости управления делает инженеров недоступными, что делает невозможным решение проблемы.
⏳Процесс восстановления: Путем уменьшения размера кластера и увеличения ресурсов сервис был наконец восстановлен.
Хотя этот инцидент вызвал перебои в обслуживании, он также предоставил OpenAI ценный опыт, побудивший их улучшить архитектуру своей системы и планы действий в чрезвычайных ситуациях, еще больше повысить стабильность обслуживания и предоставить пользователям более надежные гарантии обслуживания. Я верю, что OpenAI извлечёт уроки из этого инцидента, продолжит совершенствовать свои технологии и предоставит пользователям лучший опыт.