Различия между шаблоном и графиком в шлеме - PullRequest
0 голосов
/ 05 апреля 2020

Я только начал экспериментировать с менеджером пакетов Helm kubernetes. Но график против шаблона topi c мне кажется немного смущающим.

Я понимаю, что по шаблону я создам kubernetes yaml, который будет создавать объекты и устанавливать их. Однако то же самое верно и для графиков, но этот последний является абстракцией над yamls. И ./Charts содержит автономные диаграммы, в то время как ./templates действует только для базовой диаграммы. Так что я это знаю. Но когда я должен включить другую диаграмму или просто создать шаблон?

Ища различные виды диаграмм через Интернет, я все еще не знаю, какой использовать.

Скажите, что у меня есть проект называется MyApp, в котором есть один компонент с именем MyServer, который будет связываться с MySql.

. Поэтому я создал диаграмму и вставил в нее MyServer в качестве шаблона:
./MyApp/templates/MyServer.yaml
Что мне делать с MySql? Я видел оба решения в разных проектах, один просто создает другой шаблон:
./MyApp/templates/MySQL.yaml
, в другом проекте я видел диаграмму на MySql из репозитория диаграмм:
./MyApp/charts/mysql-version.tgz

Кроме того, я видел проект bigdata (hdfs, kafka, zookeeper, ELK, oracle db..et c), и один компонент был включен в виде диаграммы в ./charts, другой был создан как шаблон in./templates.
Это целое решение между диаграммой и шаблоном кажется мне случайным и сбивающим с толку.
Не могли бы вы объяснить, пожалуйста, когда использовать какой?

1 Ответ

3 голосов
/ 05 апреля 2020

A chart - это набор шаблонов , плюс небольшая дополнительная информация, такая как метаданные в файле Chart.yaml и значение по умолчанию values.yaml. В вашем примере MyApp сам по себе является диаграммой.

Для общеизвестных зависимостей (особенно в репозитории Helm Charts и особенно в stable схемах) вы Вам, вероятно, лучше использовать внешний график; объявите зависимость в вашем файле requirements.yaml или (Helm v3) Chart.yaml и запустите helm dependency update. Это позволяет импортировать диаграмму в две строки, а не воспроизводить StatefulSet, PersistentVolumeClaim, et c. , включенные в диаграмму.

...