Как стать автором
Обновить

Комментарии 9

Код картинками ужасно - поиск не работает, в блокнот не скопировать. Не делайте так, пожалуйста

Пример 3: В условиях можно использовать функции Go templates:

интересно, а не лучше values.yaml для каждой среды готовить свой и в нем как раз и указывать значение requests, например. Аргументация простая. Если у вас меняется количество сред или их параметры - вам придется менять содержимое темплейтов и релизить новую версию чарта, а это больно, но кейс достаточно частый. Поэтому как в примере ДЕЛАТЬ НЕ НАДО.

Прошу прощения, но этот вариант описан буквально в следующем примере. (см. Впрочем, подобные конструкции можно оптимизировать при помощи функции toYaml)

Также хочу заметить что отдельный values.yaml для каждой среды, на мой взгляд, не очень хорошо. В этом случае теряется наглядность. В прошлой статье (https://habr.com/ru/company/dataart/blog/588258/) я давал пример каким образом можно создать один values.yaml для всех окружений при помощи go templates (см. 2.3. Хорошие практики values.yaml).

здесь дискуссионный вопрос - хотим ли мы все возможные среды описывать в одном values.yaml и подключать конкретные наборы ключей или мы хотим описывать их в отдельных values.yaml В любом случае валидации параметров и их значений нет ни там, ни там (кстати, какие-то рудиментарные функции в хельме для этого есть). И вот на эту тему было бы интересно подискутировать - как сделать удобный helm чарт, чтобы разработчики без особого погружения могли этим пользоваться и не ломать себе руки об острые углы инструмента. В статье каких-то конкретных рекомендаций, увы, нет. Описаны определенные практики, но вот когда и как их применять - нет.

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

В случае хелма, values.yaml с разбивкой по энвайрментам с блоком кода для динамического формирования секции env, аналогичным тому который я привёл в пункте 2.3 первой части статьи, на 90% решают эту задачу (я даже сделал ремарку в статье: Этот способ описания очень любят разработчики, поскольку оно достаточно простое и наглядное.). Остальные 10% это секретные переменные, с которыми нужно чуть больше телодвижений.

К сожалению, возможности разметки на хабре не позволяют расставлять акценты в коде так как мне бы этого хотелось. В дисклеймере к статье это указано. Также там дана ссылка на репозиторий на гитхабе где эти примеры содержатся в текстовом виде, доступном для поиска.

Можно добавить в спойлеры (для поиска по тексту)

Как-то к концу этой статьи я вообще перестал понимать зачем нужны values, template, charts... Теперь всё смешалось в моей голове %)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий