TGViewer
Make. Build. Break. Reflect. Make. Build. Break. Reflect. @makebreakreflect · 1.37K subscribers
Post #9 313

Forwarded from Alexandr Kruchkov

Ну вот гипотеза номер v4 (а первые две я опущу, там вообще не туда копал вообще. настолько не туда, что всратых историй не будет).
Третья гипотеза тут. Ссылка для тех, кто пропустил начало треда.

Первая мысль была "а и правда, в хули у нас пробы одним из первых валятся" после наводки от @identw
Нырнул глубже, традиционно обнулив все предыдущие факты и наблюдения, чтобы быть беспристрастным.
Ну поехали с нуля. База так база.

- оказалось, что у проблемных подов health-check стоит, в том числе, и на базу (Aurora MySQL). Доступность БД, сука. Прям в код аппликейшн пришлось посмотреть. Девелоперы не признавались.
- ок, лезем в графану, метрики то у нас все есть. Идём в историю ласт аутейдж.Ого, есть зацепка.
- в момент проблемы все коннекшны до базы достигают максимального значения в 1400 (почему 1400 никто не знает, хотя по дефолту должно быть 3000-4000, сорс https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Managing.Performance.html).
А чо там с подключением? А подключение идёт через rds proxy. Смотрим на proxy и звенит рында как на корабле "та-да!", всё верно, лимит стоит в 100%, вместо рекомендуемого 90. Пофиг на 90, ползём дальше, пока в дурку не загребли.
- ладно. ну и чего нам это даёт?

И вот зарождается гипотеза номер 4.
А что, если проблема не в скейлинге, не в CNI (который просто случайно в логе вывалился, а я как рак сельский дурачок вцепился клешнями), не в ООМ, не в кублете, а в другом? Да вообще, сука не напрямую в кубере.

Маняфантазёр с влажными идеями вошёл в чат
Не может ли быть такой ситуации?:
- работает допустим 4 ноды, 50+ подов, всё ок.
- город просыпается, нагрузка возрастает, клиенты начинают усиленно клацать в UI имитируя работу
- KEDA скейлит поды, количество коннекшнов до базы упирается в 1400 и это 100% (а потому что через прокси ограничений нет). Даже от себя к базе не подключится, нет гэпа ля мейнтенанса.
- бизнес поды начинают лихорадочно кудахтать и liveness пробы отвечают, что вошли не в ту дверь.
- кублет видит, что часть подов подыхают, KEDA/kubelet (я тут тупой и не знаю кто быстрее тут) поднимают новые реплики взамен умирающих лебедей.
- на старых нодах видим троттлинг, ну а хули, они единственные кто пока ещё может с базой работать
- ресурсов на нодах не хватает, автоскейлер в панике скейлит новые ноды в нескольких пулах(а это и не важно)
- ну ок, ну поднялись новые ноды и новые поды - коннекшнов то блять нет всё равно, у них тоже лайвнес пробы на базу стоят
- ну класс, у нас теперь целое стадо умирающих лебедей на новых нодах, на старых нодах с не срабатывающими лайвнес пробами
- вся реальная нагрузка бизнеса ложится на хрупкие плечи тех подов, кто остался на старых нодах, имеют коннекшны и они начинают дико яростно жрать все ресурсы, уходят в лимит и дико троттлят.
- кублету надоедает этот блядский цирк с бородатыми женщинами, конями и тупорылым стеком, он включает шизу и по хардэвикшну киляет все старые поды с троттлингом со старых нод.
- конекшны освобождаются, на новых нодах новые поды начинают работать, берут на себя часть нагрузки, сервис стартует
- глупый SRE инженер два дня копает не туда, зачем то залезая в кишочки API и кублета, пытаясь понять что там было за 10-20 секунд околодаунтайма, приплетая сюда ещё и CNI,который смотрит на него с недоумением совы, к которой ночью без спроса лезут в гнездо

Тот гэп, между этапом "вся нагрузка лежит только на старых подах, с троттлингом по CPU и, иногда, с нагрузкой по памяти, упирающаяся в ООМ, у которых ещё есть коннекшны к базе" и "кублет кильнул старые поды по OOM, новые поды в новых нодах получили свободу и коннекшны и подключились к базе, балансир после прохождения проб переключил на них трафик, взяли бизнес нагрузку" и есть мой ёбанный аутейдж. Сраные секунды аутейджа.
  • 👍 2
  • 🥰 2
More from @makebreakreflect
  1. Sep 25, 2026#пятница Ждём, чо. А вообще да, заебали эти охринительно полезные новости с невероятными д…
  2. Sep 25, 2026#kubernetes - https://laravel-news.com/laravel-health-kubernetes-prometheus Жаль, что тако…
  3. Sep 24, 2026Но стоит взять задачу из смежной области, где общее понимание есть, а глубокой экспертизы…
  4. Sep 23, 2026В удивительнейшее время живём. - https://typesafe.ai/blog/introducing-system-one-models-an…
  5. Sep 22, 2026#aws #elasticache #redis #kubernetes #troubleshooting #devops #sre #longread Ничего не пре…
  6. Sep 18, 2026Вся эта неделя была очень странной. Опус отупел до уровня 3 модели. Фейбл сжигает токены б…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →