Helm chart

Простыми словами

Chart описывает, какие объекты нужны приложению и как они должны быть настроены. Команда передаёт параметры окружения, а Helm формирует манифесты: например, Deployment и Service. Один пакет можно использовать для нескольких установок с разными настройками.

Версия chart и версия приложения — разные величины. Обновление пакета может менять права или сетевые настройки даже тогда, когда образ приложения остался прежним. Поэтому проверяют не только номер версии, но и результат генерации.

Как применяется

Chart применяют для воспроизводимого выпуска сервисов. В репозитории фиксируют версию пакета и зависимости, а параметры тестовой и рабочей среды хранят раздельно. Значения по умолчанию рассматривают как исходную настройку, а не гарантию безопасности.

При проверке ИБ изучают создаваемые учётные записи и роли, привилегированные контейнеры, публичные интерфейсы и источники образов. Пароли не коммитят в values.yaml. Отдельно проверяют hooks: они могут запускать задания с собственными правами.

Пример применения

Команда устанавливает внутренний сервис через chart. Для рабочей среды она отключает внешний доступ, задаёт конкретную версию образа и разрешает сервисной учётной записи только необходимые действия.

До установки команда просматривает сгенерированные манифесты и замечает, что зависимость запрашивает ClusterRole. Вместо автоматического согласования она выясняет назначение прав, проверяет возможность их ограничить и тестирует результат в отдельном окружении.

Не путать с

  • Образ контейнераСодержит файлы и среду приложения. Chart описывает объекты Kubernetes, параметры запуска и зависимости установки.
  • Релиз HelmКонкретная установка chart с именем, параметрами и историей обновлений. Один chart может иметь несколько релизов.
  • Kubernetes RBACОпределяет разрешённые действия с API. Chart может создать роли и привязки, но сам по себе не подтверждает, что права минимальны.

Как это работает

  1. Выбрать пакетФиксируют источник, версию chart и зависимости. Проверяют требования к версии Kubernetes и состав создаваемых объектов.
  2. Задать параметрыПодготавливают значения конкретного окружения. Секреты передают предусмотренным защищённым способом, а не через публичный репозиторий.
  3. Проверить манифестыГенерируют итоговый YAML и оценивают права, сетевую публикацию, настройки контейнеров и поведение hooks.
  4. Установить и проверитьВыполняют выпуск разрешённой учётной записью, проверяют состояние ресурсов и доступность сервиса. Откат проверяют отдельно, особенно для данных.

Продолжить изучение

Связанные термины

Частые вопросы

Chart — это то же самое, что Docker image?

Нет. Образ содержит приложение, а chart описывает его установку в Kubernetes. Пакет может ссылаться на несколько образов и создавать роли, сервисы, задания и другие объекты.

Можно ли считать helm lint проверкой безопасности?

Нет. Он полезен для поиска проблем структуры и шаблонов, но не заменяет анализ получившихся прав, сетевого доступа, секретов и происхождения образов.

Откат Helm гарантирует возврат базы данных?

Нет. Возврат конфигурации релиза не равен восстановлению данных или отмене миграции схемы. Совместимость версий и восстановление базы планируют и проверяют самостоятельно.

Helm chart — пакет шаблонов, параметров и метаданных, который Helm использует для создания и обновления ресурсов приложения в Kubernetes.