Helm+Crossplane+LinkerD
March 7, 2023

Helm. Создание своего чарта

В данном обзоре рассмотрим процесс создания своего чарта и проверки его работоспособности.

Поехали!

helm create cam-app # Создаёт структуру каталогов чарта

Переменные helm

.Release.Name
.ReleaseNamespace
.Release.IsInstall
.Release.Revision
.Release.Service
.Chart.ApiVersion
.Chart.Name
.Chart.Version
.Chart.Type
.Chart.Description
.Chart.Keywords
.Chart.Home
.Chart.Maintainers
.Chart.Dependencies
.Chart.KubeVersion

Укзатель на шаблон - когда переменная передаётся в шаблон в двойных фигурных скобках и отступами.

{{ .Release.Name }}

Любое значение, которое может быть изменено на этапе развёртывания приложения не должно быть жёстко захардкожено. Наоборот, должен быть шаблон для возможности его изменения. Для того чтобы подставлять свои значения, пользователь чарта будет использовать параметр --set.

helm install cam-app . \
 -- set replicaCount=2 \
 -- set image=nginx

Проверка чарта на ошибки.

Данные команды имеет смысл запускать последовательно.

helm lint . # Проверит корректность манифестов в template и корректность переменных
helm template . # Проверит корректность создания объектов в k8s
helm template . --debug # Подробный вывод ошибки
helm install cam-app . --dry-run # Тестовый прогон приложения на ошибки в манифесте