0Pricing
DevOps Bootcamp · Урок

Определение частичного шаблона с define

Объявляйте повторно используемый именованный блок шаблона

«Определение частичного шаблона с define» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 4 уроков всего.

Зачем повторять одно и то же?

Одни и те же метки и имена копируются в каждый манифест чарта. Именованный шаблон позволяет написать этот блок один раз и использовать его повторно везде.

Знакомство с действием define

Вы объявляете повторно используемый блок с помощью действия define. Оно задаёт имя фрагменту текста шаблона, но само по себе ничего не выводит.

{{- define "mychart.labels" -}}
app: my-app
{{- end -}}

Анатомия блока define

Каждый блок define открывается строкой с именем и закрывается с помощью end. Всё, что находится между ними, — это тело, которое вызывающие шаблоны смогут вставить.

{{- define "NAME" -}}
  ...body...
{{- end -}}

Соглашения об именовании важны

Имена глобальны для всего чарта, поэтому добавляйте к ним имя чарта, чтобы избежать конфликтов. Формат с точкой chart.purpose является общепринятым соглашением.

{{- define "mychart.selectorLabels" -}}
app.kubernetes.io/name: mychart
{{- end -}}

Где находятся частичные шаблоны

По соглашению все блоки define помещают в templates/_helpers.tpl. Начальное подчёркивание сообщает Helm, что этот файл не создаёт собственного манифеста.

Файлы с подчёркиванием имеют особое назначение

Файлы в templates, начинающиеся с подчёркивания, никогда не преобразуются в объекты Kubernetes. Они содержат только частичные шаблоны и помощники для использования в других местах.

Define ничего не выводит

Определение частичного шаблона лишь регистрирует его имя. В отрендеренном YAML ничего не появится, пока другой шаблон действительно не вызовет этот частичный шаблон.

Частичный шаблон может использовать точку

Внутри частичного шаблона можно обращаться к контексту, например к .Release.Name, но только если вызывающая сторона передаст ему эту область действия. Скоро мы рассмотрим передачу области действия.

{{- define "mychart.name" -}}
{{ .Release.Name }}
{{- end -}}

Много частичных шаблонов в одном файле

В _helpers.tpl можно разместить сколько угодно блоков define. Группируйте связанные помощники, чтобы файл было легко просматривать.

{{- define "mychart.name" -}}
my-app
{{- end -}}
{{- define "mychart.fullname" -}}
my-app-prod
{{- end -}}

Частичные шаблоны помогают создавать большие чарты

По мере роста чарта частичные шаблоны поддерживают одинаковые метки и имена во всех местах. Измените помощник один раз — и каждый использующий его манифест обновится.

Определение — только половина работы

Само по себе define не выполняет никаких действий. Следующий шаг — вставить его в настоящие манифесты с помощью include или template; этому посвящён следующий урок.

Быстрая проверка

Вы добавили блок define, но результат рендеринга пуст. Почему?

Повторение: определение частичных шаблонов

Вы научились объявлять повторно используемые блоки с помощью define, называть их chart.purpose и хранить в _helpers.tpl. Теперь вы научитесь их вызывать. 🧩

Часто задаваемые вопросы

Урок «Определение частичного шаблона с define» бесплатный?

Да — полный текст урока «Определение частичного шаблона с define» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.

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

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

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

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

Сколько времени занимает урок «Определение частичного шаблона с define»?

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

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

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

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

  1. Определение частичного шаблона с define
  2. Вставка частичных шаблонов с template и include
  3. Стандартные помощники Fullname и Labels
  4. Передача области видимости в именованный шаблон
← Назад к DevOps Bootcamp