Как посмотреть все поды (pods) в определенном неймспейсе Kubernetes?

«Как посмотреть все поды (pods) в определенном неймспейсе Kubernetes?» — вопрос из категории Kubernetes, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для получения списка подов в конкретном неймспейсе используется команда 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