Ответ
Для получения списка подов в конкретном неймспейсе используется команда kubectl get pods с флагом -n (namespace). Это базовая операция для мониторинга состояния развернутых приложений.
Базовые команды:
# Список всех подов в неймспейсе (например, 'production')
kubectl get pods -n production
# Расширенный вывод с IP-адресами и нодами, на которых запущены поды
kubectl get pods -n production -o wide
Детализированный мониторинг и отладка:
# Вывод в реальном времени (watch mode)
kubectl get pods -n production --watch
# Показать все поды во всех неймспейсах (требует прав)
kubectl get pods --all-namespaces
# Проверить состояние конкретного пода с детальным описанием событий (Events)
kubectl describe pod <pod-name> -n production
Практический пример из CI/CD пайплайна:
После деплоя новой версии приложения в неймспейс staging я проверяю, что все поды перешли в состояние Running:
kubectl get pods -n staging -w
# Ожидаемый вывод:
# NAME READY STATUS RESTARTS AGE
# frontend-abcde 1/1 Running 0 15s
# backend-fghij 2/2 Running 0 12s
Если под CrashLoopBackOff, следующей командой будет kubectl logs -n staging <pod-name> для анализа ошибок. Для автоматизации этой проверки в скриптах я часто добавляю --field-selector:
# Проверить, есть ли неработающие поды
kubectl get pods -n staging --field-selector=status.phase!=Running