0Pricing
Helm Academy · Урок

Объект Values и вложенный доступ

Читайте пользовательскую конфигурацию на любом уровне дерева

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

Знакомство с объектом Values

Внутри шаблона .Values содержит все настройки из values.yaml вашего чарта, а также переданные вами переопределения. Это ваше дерево конфигурации.

Чтение ключа верхнего уровня

Ключ верхнего уровня вроде replicaCount превращается в .Values.replicaCount. Путь с точками в точности повторяет структуру YAML. 🌳

# values.yaml
replicaCount: 3

# template
replicas: {{ .Values.replicaCount }}

Переход к вложенным картам

Для вложенных значений точки соединяются в цепочку. Элемент карты с ключом tag доступен как .Values.image.tag: по одному сегменту на каждый уровень.

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

# template
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}

Ключи чувствительны к регистру

Сегменты пути должны посимвольно совпадать с ключом YAML. .Values.Image — не то же самое, что .Values.image, поэтому результатом будет пустое значение.

Отсутствующие ключи дают пустой результат

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

Для ключей с дефисами нужен index

Синтаксис с точкой не работает с ключами, содержащими дефисы. Получайте к ним доступ с помощью функции index и ключа в виде строки в кавычках.

# values.yaml
service-port: 8080

# template
port: {{ index .Values "service-port" }}

Откуда берутся значения по умолчанию

Автор чарта задаёт разумные значения по умолчанию в values.yaml. Каждый ключ из этого файла доступен через .Values, если только пользователь его не переопределил.

Как переопределения попадают в .Values

Флаг пользователя --set или файл, переданный через -f, объединяется со значениями по умолчанию до рендеринга. К моменту обработки шаблона .Values — это итоговое объединённое дерево.

helm install web ./mychart --set replicaCount=5

Списки тоже находятся в .Values

Список YAML становится срезом внутри .Values. Обходите его с помощью range, чтобы вывести повторяющиеся элементы, вместо чтения одним путём с точками. 🔁

# values.yaml
ports:
  - 80
  - 443

Безопасное заключение значений в кавычки

Числа и логические значения выводятся без изменений, что может испортить YAML. Оборачивайте пользовательские строки в функцию quote, чтобы они оставались корректным текстом.

tag: {{ .Values.image.tag | quote }}

Изучите дерево перед использованием

Запустите helm show values для чарта, чтобы вывести всё дерево значений. Этот результат точно показывает структуру, к которой вы обращаетесь через .Values.

helm show values ./mychart

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

Вам нужен ключ значений с именем service-port, содержащий дефис.

Итоги: дерево Values

Вы узнали, что .Values — это объединённое дерево конфигурации, к которому обращаются по путям с точками с учётом регистра; для нестандартных ключей используется index. Изучить дерево можно с помощью helm show values.

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

Урок «Объект Values и вложенный доступ» бесплатный?

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

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

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

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

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

Сколько времени занимает урок «Объект Values и вложенный доступ»?

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

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

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

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

  1. Объект Values и вложенный доступ
  2. Метаданные выпуска через .Release
  3. Объекты Chart и Capabilities
  4. Files, Template и корневой контекст
← Назад к Helm Academy