Шлем - это то, что многие люди используют для этого.Это позволяет вам создавать шаблоны для дескрипторов kubernetes и передавать параметры для создания дескрипторов из шаблонов.
Существуют и другие инструменты, которые можно использовать для генерации вариаций дескрипторов развертывания kubernetes путем введения параметров в шаблоны.Ansible также популярен.Но Хелм тесно связан с Kubernetes CNCF и сообществом, и есть хороший выбор официальных диаграмм .
РЕДАКТИРОВАТЬ: если целью является включение различных развертываний (например, для разработчиков и разработчиков), используя одно изображение докера, тогда это, вероятно, лучше всего обрабатывать с одной диаграммой.Вы можете создавать разные файлы значений для каждого развертывания и предоставлять выбранный файл значений для установки helm с параметром --values
.Если есть части диаграммы, которые применимы только иногда, их можно заключить в условия if
, чтобы включить или выключить их.
В частности, по вопросу наследования в примере есть 1015 *.helm документирование того, как взять другую диаграмму в качестве родителя / зависимости и переопределить ее значения , и я создал диаграмму ранее, которую вы можете увидеть в github , что включает в себя несколько других диаграмм и переопределяет части всех из них через values.yml .Он также разделяет некоторые конфигурации между включенными диаграммами с глобальными переменными .Если вы хотите использовать родительский элемент для уменьшения дублирования, а не для объединения нескольких приложений, то можно создать базовую / упаковочную диаграмму , но может оказаться лучше просто скопировать конфигурацию .
РЕДАКТИРОВАТЬ (180119): альтернатива Настроить может скоро станет доступна в kubectl