Объект 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 — локальная установка не требуется.
Все уроки этого курса
- Объект Values и вложенный доступ
- Метаданные выпуска через .Release
- Объекты Chart и Capabilities
- Files, Template и корневой контекст