helm, перекрывающий Chart и Values yaml из базового шаблона диаграммы
Я определил родительскую диаграмму, которая называется base-microservice, и доступна по адресу mycompany.github.com/pages/base-microservice.
Структура выглядит следующим образом:
base-microservice
- templates
- deployment.yaml
- ingress.yaml
- service.yaml
- Chart.yaml
- values.yaml
- index.yaml
- base-microservice-0.1.0.tgz
Я хотел бы определить диаграмму customapp, которая наследуется от родительской диаграммы.
Структура выглядит следующим образом:
customapp-service
- customapp
- Chart.yaml
- charts
- requirements.yaml
- values.yaml
- src
Требования.yaml заключается в следующем:
dependencies:
- name: base-microservice
repository: https://mycompany.github.com/pages/base-microservice
version: 0.1.0
Когда я делаю
helm install --repo https://mycompany.github.com/pages/base-microservice --name customapp --values customapp/values.yaml
Он создает и развертывает базовый микросервис вместо customapp.. другими словами, мои Chart.yaml и values.yaml в пользовательской диаграмме приложения не переопределяют то, что было определено в базовой..
Добрый совет, как структурировать приложение?
1 ответ
Вы можете прочитать страницу документации Subcharts and Global Values в репозитории Helm. Он включает в себя создание вложенной диаграммы, добавление значений и шаблона к вложенной диаграмме, переопределение значений из родительской диаграммы, глобальные значения диаграммы и совместное использование шаблонов с вложенными диаграммами. Похоже, вы хотите, чтобы пример в Переопределение значений из родительской диаграммы. Обратите внимание, что все значения, передаваемые от родительского элемента к вложенной диаграмме, вложены под ключом YAML с тем же именем, что и вложенная диаграмма. --set
Синтаксис та же концепция, просто префикс ключа с именем подкарты (--set subchartname.subchartkey=myvalue
,
Кроме того, docs.helm.sh содержит хорошую консолидированную документацию по Helm, а в разделе " Область применения, зависимости и значения " "Вступления к диаграммам" более подробно описан приведенный выше пример использования, а также другие.