Helm中的模板与图表之间的差异

问题描述 投票:0回答:1

我刚刚开始尝试Helm kubernetes软件包管理器。但是图表vs模板主题对我来说似乎有些混乱。

我知道,通过模板,我将创建kubernetes yaml,它将创建对象并安装它们。但是,对于图表也是如此,但这是对Yaml的抽象。 ./图表包含独立的图表,而./templates仅对基本图表有效。所以我知道。但是我什么时候应该包括其他图表或仅创建模板?

[通过网络寻找其他种类的图表,我仍然不知道该使用哪种。

说我有一个名为MyApp的项目,它有一个名为MyServer的组件,它将与MySql通信。

所以我创建了一个图表,并将其作为模板放入MyServer中:./MyApp/templates/MyServer.yaml我应该如何使用MySql?我已经在不同的项目中看到了这两种解决方案,一个只是创建了另一个模板:./MyApp/templates/MySQL.yaml在其他项目上,我从图表存储库中看到了MySql的图表:./MyApp/charts/mysql-version.tgz最重要的是,我看到了一个大数据项目(hdfs,kafka,zookeeper,ELK,oracle db..etc),其中一个组件作为图表包含在./charts中,另一个组件作为模板创建于./templates中。图表和模板之间的整个决定对我来说似乎是随机的并且令人困惑。您能解释一下什么时候使用它吗?

kubernetes kubernetes-helm
1个回答
0
投票

A charttemplates的集合,外加一些额外的信息,例如Chart.yaml文件中的元数据和默认的values.yaml。在您的示例中,MyApp本身就是一个图表。

对于众所周知的依赖关系(尤其是Helm charts repository中的事物,尤其是stable图表中的事物),最好使用外部图表;在requirements.yaml或(Helm v3)Chart.yaml文件中声明依赖项,然后运行helm dependency update。这使您可以用两行导入图表,而不用复制图表中包含的StatefulSet,PersistentVolumeClaim,etc。

© www.soinside.com 2019 - 2024. All rights reserved.