← Назад к вопросам

Как посмотреть все pod в конкретном namespace

1.0 Junior🔥 231 комментариев
#Kubernetes

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Просмотр всех Pod в конкретном Namespace в Kubernetes

Для просмотра всех подов (pods) в определённом пространстве имён (namespace) в Kubernetes используется команда kubectl get pods с указанием целевого namespace через флаг -n или --namespace. Это базовая, но критически важная операция для ежедневного мониторинга и отладки кластера.

Основные команды

Самый прямой и часто используемый способ:

kubectl get pods -n <имя-namespace>

Например, чтобы посмотреть все поды в namespace default:

kubectl get pods -n default

Альтернативный синтаксис с использованием длинного формата флага:

kubectl get pods --namespace production

Расширенные варианты и флаги

Команда kubectl get поддерживает множество флагов для детализации и форматирования вывода:

  • Подробный вывод (-o wide): Показывает дополнительную информацию, такую как IP-адреса подов и ноды, на которых они запущены.

    kubectl get pods -n staging -o wide
    
  • Вывод в формате YAML или JSON (-o yaml, -o json): Полезно для детального анализа конфигурации или автоматической обработки.

    kubectl get pods -n backend -o yaml
    
  • Постоянное наблюдение за изменяющимся состоянием (-w, --watch): Команда будет непрерывно обновлять вывод в реальном времени, что идеально для наблюдения за развёртыванием или восстановлением после сбоя.

    kubectl get pods -n monitoring --watch
    
  • Показать метки (--show-labels): Отображает все метки (labels), присвоенные подам, что помогает в фильтрации и организации.

    kubectl get pods -n kube-system --show-labels
    
  • Фильтрация по метке (-l): Позволяет отфильтровать поды не только по namespace, но и по селектору метки.

    kubectl get pods -n default -l app=nginx
    

Важные практические аспекты

  • Права доступа (RBAC): Убедитесь, что ваш пользователь или сервисный аккаунт имеет права (Role, ClusterRole) на выполнение операций list и get для ресурса pods в целевом namespace. Без соответствующих разрешений команда завершится с ошибкой Forbidden.

  • Просмотр всех ресурсов в namespace: Иногда полезно получить общую картину. Чтобы увидеть не только поды, но и другие ключевые ресурсы (deployments, services, configmaps) в namespace, можно использовать:

    kubectl get all -n <имя-namespace>
    
    Обратите внимание, что `all` — это специальный ярлык, который охватывает наиболее распространённые, но не все типы ресурсов.

  • Альтернативный подход через контекст (context): Если вы постоянно работаете с одним namespace, можно временно сменить контекст, чтобы не указывать -n в каждой команде. Это настраивается в файле конфигурации ~/.kube/config.

    kubectl config set-context --current --namespace=production
    # Теперь все последующие команды kubectl будут выполняться в namespace 'production' по умолчанию
    kubectl get pods # Покажет поды именно в production
    
  • Использование псевдонимов (aliases): Для повышения эффективности работы добавьте алиасы в ваш shell (например, .bashrc или .zshrc):

    alias kgp="kubectl get pods"
    alias kgpn="kubectl get pods -n"
    
    После этого просмотр подов в namespace `logging` сведётся к простой команде:
```bash
kgpn logging
```

Итог: Команда kubectl get pods -n <namespace> является фундаментальным инструментом для любого инженера, работающего с Kubernetes. Понимание её базового синтаксиса и расширенных возможностей, таких как форматирование вывода, фильтрация и наблюдение, необходимо для эффективного управления рабочими нагрузками, оперативного устранения неполадок и поддержания здоровья кластера. Всегда проверяйте целевой namespace и ваши права доступа перед выполнением команды.

Как посмотреть все pod в конкретном namespace | PrepBro