Что такое Helm Subchart и как его использовать
Когда вы начинаете работать с Helm для управления приложениями в Kubernetes, быстро становится ясно: не всё стоит хранить в одном чарте.
Часто приложение зависит от других компонентов — например, базы данных или кеша. Для этого и существуют subcharts.
Что такое Subchart?
Subchart — это обычный Helm-чарт, который лежит в папке charts/
внутри основного чарта.
По сути, это способ описать зависимости. Например, вашему приложению нужен Redis. Вместо того чтобы писать манифесты заново, можно подключить готовый Helm-чарт Redis как subchart.
Зачем использовать Subcharts?
- Повторное использование — не нужно копировать манифесты зависимостей.
- Контроль версий — можно зафиксировать нужную версию.
- Чистая структура — основной чарт отвечает только за приложение, зависимости вынесены отдельно.
- Гибкость — можно переопределять параметры subchart через
values.yaml
.
Пример: добавляем Subchart
Предположим, вашему приложению нужен Redis. Опишем его в Chart.yaml
:
# Chart.yaml
dependencies:
- name: redis
version: 17.8.3
repository: "https://charts.bitnami.com/bitnami"
Затем выполним:
helm dependency update
Redis появится в папке charts/.
Как переопределить параметры Subchart
Вы можете настраивать Redis прямо из values.yaml основного чарта:
redis:
architecture: standalone
auth:
enabled: false
Так не нужно лезть в исходный чарт Redis — достаточно задать нужные значения в values.yaml.
Итог
Helm subcharts — это простой и удобный способ управлять зависимостями. Вместо того чтобы тянуть всё в один чарт, можно использовать готовые проверенные решения и настраивать их под себя.
Кратко
- Subchart = вложенный Helm-чарт.
- Используется для зависимостей (например, Redis или Prometheus).
- Подключается через dependencies в Chart.yaml.
- Настраивается через values.yaml родительского чарта.