Перейти к содержимому
6 / 10

Отладка в проде: как заглянуть внутрь пода, у которого нет даже оболочки

Минимальный образ без оболочки и пакетного менеджера — правильное решение с точки зрения безопасности и головная боль в момент инцидента: kubectl exec не даст ничего, потому что запускать нечего. Инструмент для этого — эфемерные контейнеры: kubectl debug подсаживает в работающий под дополнительный контейнер с нужными утилитами, разделяющий с ним пространства имён процессов и сети, — можно посмотреть процессы, сокеты, файловую систему через /proc, не перезапуская под и не меняя образ. Для упавшего пода полезна копия с изменениями: kubectl debug --copy-to создаёт клон с другой командой запуска или дополнительным контейнером, оставляя оригинал нетронутым для расследования. Отдельный слой — профилирование живого процесса: снятие профиля процессора и кучи через встроенный эндпоинт приложения или внешним профайлером, и дампы состояния. Главное правило — доступ к таким возможностям ограничивают правами и журналируют: это самый мощный инструмент, который есть у человека в кластере.

Отладка в проде: как заглянуть внутрь пода, у которого нет даже оболочки | JScriptiser