Обычно, если приложение в Pod’e зависло или ведёт себя странно, — запускают
kubectl exec. Но если контейнер крашится на старте или застрял в init-контейнере,
exec уже не поможет.💡 Решение: Ephemeral Containers
Это временный контейнер, который можно «вживить» в работающий Pod без его пересоздания.
Использование:
kubectl debug pod/<имя> -it --image=busybox
Что это даёт:
- можно зайти в Pod, даже если основной контейнер не запускается
- можно использовать инструменты, которых нет в образе (curl, tcpdump, bash)
- можно дебажить сеть, файловую систему, процессы, не ломая Pod
- идеальный способ разбирать живые инциденты в проде
Эта техника - спасение, когда логов мало, Pod не рестартится, а exec недоступен.