Глоссарий
Chart (Чарт)
Пакет Helm, содержащий информацию, достаточную для установки набора ресурсов Kubernetes в кластер Kubernetes.
Чарты содержат файл Chart.yaml, а также шаблоны, значения по умолчанию
(values.yaml) и зависимости.
Чарты разрабатываются в чётко определённой структуре каталогов, а затем упаковываются в архивный формат, называемый архивом чарта.
Chart Archive (Архив чарта)
Архив чарта — это упакованный в tar и сжатый gzip (и опционально подписанный) чарт.
Chart Dependency (Зависимость чарта, подчарты)
Чарты могут зависеть от других чартов. Существует два способа возникновения зависимости:
- Мягкая зависимость: чарт может просто не функционировать без установки другого чарта в кластере. Helm не предоставляет инструментов для этого случая. В этом случае зависимости управляются отдельно.
- Жёсткая зависимость: чарт может содержать (внутри своего каталога
charts/) другой чарт, от которого он зависит. В этом случае установка чарта приведёт к установке всех его зависимостей. В этом случае чарт и его зависимости управляются как единое целое.
Когда чарт упаковывается (с помощью helm package), все его жёсткие зависимости
включаются в пакет.
Chart Version (Версия чарта)
Чарты версионируются в соответствии со спецификацией SemVer 2. Номер версии обязателен для каждого чарта.
Chart.yaml
Информация о чарте хранится в специальном файле Chart.yaml. Каждый
чарт должен иметь этот файл.
Helm (и helm)
Helm — это менеджер пакетов для Kubernetes. Подобно тому, как менеджер пакетов операционной системы упрощает установку инструментов в ОС, Helm упрощает установку приложений и ресурсов в кластеры Kubernetes.
Хотя Helm — это название проекта, клиент командной строки также называется
helm. По соглашению, когда речь идёт о проекте, Helm пишется с заглавной буквы. Когда
речь идёт о клиенте, helm пишется строчными буквами.
Helm Configuration Files (Файлы конфигурации Helm, XDG)
Helm хранит свои файлы конфигурации в каталогах XDG. Эти каталоги
создаются при первом запуске helm.
Kube Config (KUBECONFIG)
Клиент Helm получает информацию о кластерах Kubernetes с помощью файлов в формате Kube
config. По умолчанию Helm пытается найти этот файл в том месте,
где kubectl его создаёт ($HOME/.kube/config).
Lint (Линтинг)
Линтинг чарта — это проверка того, что он соответствует соглашениям и
требованиям стандарта чартов Helm. Helm предоставляет для этого инструменты, в частности
команду helm lint.
Provenance (Файл происхождения)
Чарты Helm могут сопровождаться файлом происхождения, который предоставляет информацию о том, откуда взялся чарт и что он содержит.
Файлы происхождения являются частью модели безопасности Helm. Файл происхождения содержит криптографический хеш файла архива чарта, данные Chart.yaml и блок подписи (блок OpenPGP "clearsign"). При наличии связки ключей это даёт пользователям чарта возможность:
- Проверить, что чарт был подписан доверенной стороной
- Проверить, что файл чарта не был изменён
- Проверить содержимое метаданных чарта (
Chart.yaml) - Быстро сопоставить чарт с его данными происхождения
Файлы происхождения имеют расширение .prov и могут размещаться на сервере
репозитория чартов или любом другом HTTP-сервере.
Release (Релиз)
Когда чарт устанавливается, библиотека Helm создаёт релиз для отслеживания этой установки.
Один чарт может быть установлен много раз в один и тот же кластер и создавать
множество разных релизов. Например, можно установить три базы данных PostgreSQL,
выполнив helm install три раза с разными именами релизов.
Release Number (Номер релиза, версия релиза)
Один релиз может быть обновлён несколько раз. Последовательный счётчик используется для
отслеживания релизов по мере их изменения. После первого helm install релиз будет иметь
номер релиза 1. Каждый раз при обновлении или откате релиза номер релиза
будет увеличиваться.
Rollback (Откат)
Релиз может быть обновлён до более нового чарта или конфигурации. Но поскольку история релизов
сохраняется, релиз также может быть откачен к предыдущему номеру релиза.
Это делается командой helm rollback.
Важно отметить, что откаченный релиз получит новый номер релиза.
| Операция | Номер релиза |
|---|---|
| install | релиз 1 |
| upgrade | релиз 2 |
| upgrade | релиз 3 |
| rollback 1 | релиз 4 (но с той же конфигурацией, что и релиз 1) |
Приведённая выше таблица иллюстрирует, как номера релизов увеличиваются при установке, обновлении и откате.
Helm Library (Библиотека Helm, или SDK)
Библиотека Helm (или SDK) относится к коду Go, который напрямую взаимодействует с API-сервером Kubernetes для установки, обновления, запроса и удаления ресурсов Kubernetes. Она может быть импортирована в проект для использования Helm как клиентской библиотеки вместо CLI.
Repository (Репозиторий, Repo, репозиторий чартов)
Чарты Helm могут храниться на выделенных HTTP-серверах, называемых репозиториями чартов (репозиториями или просто repo).
Сервер репозитория чартов — это простой HTTP-сервер, который может отдавать файл index.yaml,
описывающий набор чартов и предоставляющий информацию о том, откуда можно скачать каждый
чарт. (Многие репозитории чартов также предоставляют сами чарты вместе с файлом index.yaml.)
Клиент Helm может указывать на ноль или более репозиториев чартов. По умолчанию клиенты Helm
не настроены ни на один репозиторий чартов. Репозитории чартов могут быть добавлены
в любое время с помощью команды helm repo add.
Chart Registry (Реестр чартов, реестр на основе OCI)
Реестр чартов Helm — это система хранения и распространения на основе OCI, которая используется для размещения и распространения пакетов чартов Helm. Дополнительную информацию см. в документации Helm по реестрам.
Values (Значения, файлы значений, values.yaml)
Значения позволяют переопределять значения по умолчанию из шаблонов вашей собственной информацией.
Чарты Helm являются «параметризованными», что означает, что разработчик чарта может предоставить
конфигурацию, которую можно переопределить во время установки. Например, чарт
может предоставлять поле username, позволяющее задать имя пользователя для сервиса.
Эти предоставляемые переменные называются значениями в терминологии Helm.
Значения можно задавать во время операций helm install и helm upgrade, либо
передавая их напрямую, либо используя файл values.yaml.
🗃️ Введение
4 элемента
🗃️ Практические руководства
3 элемента
🗃️ Темы
16 элементов
🗃️ Лучшие практики
8 элементов
🗃️ Руководство по шаблонам чартов
16 элементов
🗃️ Команды Helm
57 элементов
🗃️ Go SDK
2 элемента
🗃️ Часто задаваемые вопросы
4 элемента
📄️ Глоссарий
Термины, используемые для описания компонентов архитектуры Helm.
📄️ Документация Главная
Все то, что вам необходимо знать о том, как организована документация.