Commands
Kubernetes

kubectl describe pod: Детальная информация о поде: события, статусы, ресурсы, прич

Детальная информация о поде: события, статусы, ресурсы, причина краша

kubectl describe pod — это ваш первый помощник при диагностике проблем в кластере. Начнём с базы.

Базовый синтаксис
kubectl describe pod <имя_пода>
Эта команда выводит подробную информацию о конкретном поде: его статус, ресурсы, события и причины ошибок. Например:

kubectl describe pod my-app-7df58986d8-2xg8k  

Вывод включает раздел Events, где записаны все логи ошибок, и Status, показывающий, в каком состоянии находится под (Running, CrashLoopBackOff и т.д.).

Полезные флаги
Флаг -n позволяет указать пространство имен:

kubectl describe pod my-pod -n production  

Если под находится в другом namespace, без этого флага команда не сработает. Флаг --selector помогает искать поды по меткам:

kubectl describe pod --selector app=my-app  

Это полезно, когда вы не знаете точного имени пода, но знаете его label.

Типичные сценарии

  1. Найти поды, которые крашатся больше 5 раз:
    Проверьте раздел Events на наличие ошибок типа CrashLoopBackOff. Например:
    kubectl describe pod broken-pod -n staging  
    
    В событиях вы увидите, сколько раз под пытался запуститься.
  2. Проверить ресурсы:
    Если под не работает, посмотрите на Resources (Limits/Requests) и сравните с выделенными ресурсами.
  3. Анализировать причины краша:
    Используйте --selector для группировки подов с одинаковой проблемой.

Частые ошибки

  • Неверный namespace: Если вы не укажете -n, команда не найдёт под в другом пространстве имен.
  • Неправильный selector: Если метка не совпадает, команда выведет ошибку no matching pods.

Помните: kubectl describe pod — это не просто информация, это инструмент для быстрого выявления проблем. Используйте его в сочетании с kubectl logs и kubectl get events, чтобы не тратить время на лишние действия.