helm list: Список Helm релизов: фильтрация по статусу, все namespace
Список Helm релизов: фильтрация по статусу, все namespace
Базовый синтаксис
Команда helm list выводит список релизов, установленных в текущем namespace кластера Kubernetes. Релиз — это экземпляр чарта, развернутый через Helm.
helm list
Выполненная в namespace default, она покажет примерно следующее:
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
nginx default 1 2024-01-15 10:23:45.123456 +0300 MSK deployed nginx-13.2.1 1.25.3
Каждая колонка — ключевая информация: имя релиза, пространство, номер ревизии, время обновления, статус, версия чарта и приложения.
Полезные флаги
--all-namespaces / -A — незаменим для общего аудита. Когда нужно быстро понять, что вообще развернуто в кластере через Helm.
helm list --all-namespaces
--failed и --pending — для целенаправленного поиска проблем. Флаг --failed покажет релизы, деплой которых завершился ошибкой. --pending — те, что находятся в процессе установки или обновления (например, зависли).
helm list --failed
-o json — ключ для автоматизации. Вывод в формате JSON можно передать в jq для сложной фильтрации или интеграции в скрипты.
helm list -o json | jq '.[] | select(.chart | startswith("redis"))'
Типичные сценарии
1. Поиск «засорившихся» релизов после массового деплоя. Вы задеплоили несколько десятков обновлений и нужно быстро отловить те, что не перешли в статус deployed.
helm list --all-namespaces --pending --failed
Одна команда покажет все проблемные инсталляции во всех неймспейсах.
2. Подготовка отчета для CMDB. Нужно выгрузить информацию обо всех релизах (имя, неймспейс, версия чарта) для системы управления конфигурациями.
helm list --all-namespaces -o json | jq -r '["Имя", "Неймспейс", "Версия_чарта"], (.[] | [.name, .namespace, .chart]) | @tsv' > report.csv
Комбинация с jq формирует удобную таблицу в CSV.
Частые ошибки
Путаница с неймспейсом по умолчанию. Самая частая проблема — забыть про --all-namespaces или не переключить контекст. Команда helm list без флагов показывает релизы только в текущем namespace kubectl. Всегда проверяйте, где вы находитесь, или сразу используйте -A.
Некорректная интерпретация статуса pending. Этот статус не всегда означает проблему. Он может кратковременно появляться во время нормального обновления. Если релиз висит в pending долго (минуты), только тогда стоит начать детальное исследование через helm status <release_name>.