0Pricing
Helm Academy · Урок

Объявление типа библиотечного чарта

Установка типа library и ограничения, которые она накладывает

«Объявление типа библиотечного чарта» — бесплатный урок Helm Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Helm Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Helm Academy содержит 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) и разблокировать остальной курс Helm Academy, подпишись на CoddyKit PRO. Курс Helm Academy содержит 4 уроков всего.

Чему я научусь в уроке «Объявление типа библиотечного чарта»?

Установка типа library и ограничения, которые она накладывает Ты практикуешь Helm Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Helm Academy?

Предыдущий опыт не требуется. Helm Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Объявление типа библиотечного чарта»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Helm Academy?

Да. Каждый урок Helm Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Объявление типа библиотечного чарта
  2. Экспорт повторно используемых именованных шаблонов
  3. Использование библиотеки как зависимости
  4. Локальная замена значений библиотеки по умолчанию
← Назад к Helm Academy