Helm
Один из самых популярных пакетных менеджеров для Kubernetes.
Управление helm
Установка helm:
curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null
sudo apt-get install apt-transport-https --yes
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
sudo apt-get update
sudo apt-get install helm
Репозиторий
| Команда | Доп. пар. | Описание |
| helm repo | list | Список репозиториев |
| add repo_name repo_url |
Добавить репозиторий repo_name с адресом repo_url
|
|
| update |
обновить репозиторий |
|
| helm search |
repo keyword |
Поиск чартов по репозиториям ключевого слова keyword |
| hub keyword |
В официальном репозитории |
|
| --max-col-width=0 |
+ hub/repo полный вывод текста |
|
| --output yaml |
+hub/repo вывод в yaml |
Плагины
Он сам по себе мощный, но ссылка на плагины
| Команда | Доп. пар. | Описание |
| helm plugin install url | Установка плагина | |
| helm plugin list | Список плагинов | |
| helm plugin update pl_name | Обновление плагина | |
| helm plugin unistall pl_name |
Удаление плагина |
Переменные окружения
Зависит от переменных окружения. Основные переменные:
| Переменная | Описание |
| XDG_CACHE_HOME | Размещение кешированных данных. По умолчанию ~/.cache/helm |
| XDG_CONFIG_HOME | Размещение конфигурационного файла По умолчанию ~/.config/helm |
| XDG_DATA_HOME | Размещение плагинов helm По умолчанию ~/.local/share/helm |
| HELM_DRIVER | Драйвер для хранения данных. Secret - хранение авторизационных данных в файле, может быть configmap и memory |
| HELM_NO_PLUGINS | Отключить плагины |
| KUBECONFIG | Размещение конфигурационного файла kubectl |
Charts
| Команда | Доп. пар. | Описание |
| helm install | name_chart repo | Установить из репозитория repo чарт name_chart |
| --... | Переменные внутри чарта
|
|
| helm inspect values |
name_chart > ... |
Сохранение чарта в файл
|
| helm fetch name_chart |
Скачать чарт в tar |
|
| --untar |
И распаковать
|
|
| helm ls |
--namespace namespace |
список установленных чартов |
| helm upgrade | ... |
Обновление |
| helm rollback ch_name count |
Откатить чарт ch_name на count назад
|
|
| helm uninstall name_ch |
|
Общая структура чарта
Helm автоматически определяет последовательность применения шаблонов в чарте.
| Директория/файл | Описание | Обяз. |
| Chart.yaml | Метаданные чарта | + |
| templates/ | Ресурсы кубера в формате yaml helm (yaml с переменными) | + если не составной |
| templates/NOTES.txt | Инструкции по использованию | - |
| values.yaml | Переменные по умолчанию | - |
| .helmignore | Файлы исключения при упаковке чарта | - |
| charts/ | Зависимости (другие чарты) | -, при отсутствии helm их сгенерирует в соответствии с Chart.yaml |
| Chart.lock | Первично примененные зависимости. | -, будет создан автоматически |
| crds/ | Зависимости, которые должны быть собраны до основного чарта | - |
| README.md | Описание | - |
| LICENSE | Лицензия | - |
| value.shema,json | Values в json формате | - |
templates/
Измененные yaml. Добавлены переменные в формате Go шаблонизации. Переменные берутся из файла values.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}
data:
configuration.txt: |-
{{ .Values.configurationData }}
values.yaml
В виде обычного key: value yaml
# - комментарии