DevOps Bootcamp · Урок

Локальная замена значений библиотеки по умолчанию

Настройка общих шаблонов для каждого потребителя

Урок 4 из 413 шагов

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

Общее, но не жёсткое

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

Управление поведением через значения

Поскольку частичные шаблоны читают .Values, Ваш чарт легко настраивает общий вывод, задавая соответствующие ключи в собственном values.yaml.

# your values.yaml
image:
  repository: nginx
  tag: "1.27"

Библиотеки опираются на default

Хорошо написанные частичные шаблоны оборачивают операции чтения в функцию default, поэтому незаданное значение корректно заменяется запасным, а не приводит к пустому выводу.

replicas: {{ .Values.replicaCount | default 1 }}

Переопределите только этот ключ

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

# your values.yaml
replicaCount: 3

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

Нужны более серьёзные изменения? Переопределите именованный шаблон в собственном чарте. Для одного имени побеждает последнее определение, поэтому Ваша версия заменит библиотечную.

{{- define "common.labels" -}}
team: payments
{{- end -}}

Побеждает последнее определение

Если два чарта определяют шаблон с одним именем, Helm использует загруженный последним. Чарт приложения может намеренно скрыть частичный шаблон библиотеки.

Оборачивайте, а не заменяйте

Часто лучше поступить проще: определите новый частичный шаблон, который включает библиотечный, а затем добавляет Ваши дополнительные поля. Так Вы расширяете логику, не теряя исходную.

{{- define "app.labels" -}}
{{ include "common.labels" . }}
tier: backend
{{- end -}}

Передайте пользовательский контекст

Вместо корневой точки передайте частичному шаблону суженный контекст, чтобы он читал данные из поддерева Ваших значений и по-разному формировал результат при каждом вызове.

{{ include "common.resources" .Values.web }}

Составьте объединённый контекст

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

{{ include "common.tpl" (dict "top" . "name" "web") }}

Проверьте, что переопределение сработало

После переопределения всегда запускайте helm template, чтобы убедиться: Ваши значения или переопределённый частичный шаблон создали нужный манифест.

helm template my-release . | grep replicas

Сводите переопределения к минимуму

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

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

Ваш чарт и его библиотека оба определяют common.labels. Какое определение на самом деле использует Helm?

Итоги: локальные переопределения

Сначала настраивайте библиотеку с помощью значений, при необходимости переопределяйте или оборачивайте частичные шаблоны, передавайте пользовательский контекст, а затем проверяйте результат с помощью helm template. ✅

Можно начать бесплатно

Изучай DevOps Bootcamp с ИИ-репетитором — бесплатно

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

Курсы
142
Уроки
568

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

Урок «Локальная замена значений библиотеки по умолчанию» бесплатный?

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

Чему я научусь в уроке «Локальная замена значений библиотеки по умолчанию»?

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

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

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

Сколько времени занимает урок «Локальная замена значений библиотеки по умолчанию»?

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

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

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

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

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