Только для версии чарта 2.xВозможность
additionalManifests доступна только в Helm-чарте v2.x, построенном на подчартах.additionalManifests позволяет развертывать произвольные объекты Kubernetes вместе с чартом ClickStack. Используйте его для ресурсов, для которых в чарте нет встроенных шаблонов, например NetworkPolicy, HorizontalPodAutoscaler, ServiceAccount, PodMonitor, пользовательских объектов Входной шлюз и любых других объектов Kubernetes API.
Как это работает
additionalManifests — это полное описание ресурса Kubernetes. Чарт:
- Перебирает каждый элемент в списке
- Преобразует элемент в YAML (
toYaml) - Вычисляет шаблонные выражения в этом YAML с помощью Helm
tpl
.Release.Name,.Release.Namespaceinclude "clickstack.fullname" .и другие вспомогательные функции чарта.Values.*
Ограничения файла значений
additionalManifests настраивается в файле значений, а файлы значений разбираются как YAML до выполнения tpl.
- Любые
{{ ... }}в файле значений должны находиться внутри строки в кавычках - Структурные блоки шаблона не являются допустимым YAML в файле значений (например,
{{- include ... | nindent ... }}сам по себе) - Для нестроковых полей (например, числовых портов) используйте литеральные значения или именованные порты
- Если вам нужна структурная шаблонизация, используйте шаблон обёрточного чарта вместо обычного файла значений
Доступные вспомогательные функции чарта
templates/_helpers.tpl:
Примеры
ServiceAccount
NetworkPolicy
HorizontalPodAutoscaler
PodMonitor (Prometheus Operator)
Входной шлюз AWS ALB
TargetGroupBinding
TargetGroupBinding:
Дополнительно: шаблоны обёрточного чарта
include "clickstack.labels" . | nindent 4, рендерьте их через шаблон обёрточного чарта (templates/*.yaml), а не размещайте такие блоки напрямую в файлах значений.
Пример фрагмента шаблона обёрточного чарта:
Советы
Хуки Helm
additionalManifests обрабатывается как отдельный YAML-документ. Вы можете добавить аннотации hook Helm, чтобы управлять порядком установки и обновления:
Порядок CRD
PodMonitor), CRD должны уже существовать в кластере до установки или обновления.
Объединение нескольких ресурсов
additionalManifests — это список. Элементы обрабатываются по порядку, и каждый из них становится отдельным YAML-документом.
Следующие шаги
- Основное руководство по Helm - базовая установка
- Руководство по настройке - ключи API, секреты и входной шлюз
- Развертывания в Cloud - конфигурации GKE, EKS и AKS
- Репозиторий Helm-чартов ClickStack - исходный код чартов и справочник по значениям