Объявление типа библиотечного чарта
Установка типа library и ограничения, которые она накладывает
«Объявление типа библиотечного чарта» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 4 уроков всего.
Два типа чартов
Каждый чарт Helm объявляет type в Chart.yaml. По умолчанию используется application, но существует и второй тип, предназначенный исключительно для совместного использования логики шаблонов.
# Chart.yaml
apiVersion: v2
name: my-app
type: applicationЗнакомство с библиотечным чартом
Укажите type: library, и чарт перестанет быть объектом для установки. Он превратится в набор именованных шаблонов, которые могут повторно использовать другие чарты.
# Chart.yaml
apiVersion: v2
name: common
version: 0.1.0
type: libraryБиблиотечные чарты ничего не визуализируют
Библиотечный чарт самостоятельно не создаёт объектов Kubernetes. Он только определяет шаблоны, которые использующие его чарты вызывают при визуализации.
Установить его нельзя
Запуск helm install для библиотечного чарта завершается с ошибкой. Разворачивать нечего, поэтому Helm намеренно отклоняет эту команду.
helm install c ./common
# Error: library charts are not installableШаблоны верхнего уровня не создают вывод
Файлы в каталоге templates библиотечного чарта не визуализируются как манифесты. Они должны только определять частичные шаблоны и никогда не выводить YAML напрямую.
Соглашение с символом подчёркивания
Helm пропускает файлы в templates, имена которых начинаются с символа подчёркивания. Файлы шаблонов библиотеки называют, например, _deployment.tpl, чтобы они не визуализировались.
common/
Chart.yaml
templates/
_deployment.tplТребуется apiVersion v2
Библиотечные чарты существуют только при использовании apiVersion: v2. В чартах эпохи Helm 2 с версией v1 понятия библиотечного типа вообще не было.
# Chart.yaml
apiVersion: v2
type: libraryВерсионирование как у любого чарта
Библиотеке также нужно поле version, чтобы потребители могли зафиксировать её версию. Относитесь к ней как к полноценному артефакту выпуска, а не как к обычному каталогу.
# Chart.yaml
name: common
version: 1.2.0
type: libraryЗачем нужен библиотечный тип
Вместо того чтобы копировать один и тот же YAML Deployment в десять чартов, Вы один раз пишете его один раз в библиотеке и позволяете каждому чарту подключать его.
Bitnami Common — классический пример
Широко используемый чарт bitnami/common является библиотекой. Сотни чартов зависят от него и используют общие метки, имена и вспомогательные средства для образов.
Приложение и библиотека: сравнение
Чарт application разворачивает рабочие нагрузки, а чарт library только предоставляет шаблоны. Единственное поле type определяет, как Helm будет его рассматривать.
type: application # installs resources
type: library # shares templatesБыстрая проверка
Вы указали type: library в Chart.yaml. Что произойдёт при запуске helm install для этого чарта?
Итоги: тип библиотечного чарта
Чарт с типом type: library ничего не визуализирует и не может быть установлен. Он существует только для упаковки именованных шаблонов, которые повторно используют другие чарты. 📦
Часто задаваемые вопросы
Урок «Объявление типа библиотечного чарта» бесплатный?
Да — полный текст урока «Объявление типа библиотечного чарта» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.
Чему я научусь в уроке «Объявление типа библиотечного чарта»?
Установка типа library и ограничения, которые она накладывает Ты практикуешь DevOps Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать DevOps Bootcamp?
Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Объявление типа библиотечного чарта»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке DevOps Bootcamp?
Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Объявление типа библиотечного чарта
- Экспорт повторно используемых именованных шаблонов
- Использование библиотеки как зависимости
- Локальная замена значений библиотеки по умолчанию