kubernetes 部署现有海图的最佳HELM方法[已关闭]

wn9m85ua  于 2023-04-05  发布在  Kubernetes
关注(0)|答案(2)|浏览(72)

已关闭。此问题为opinion-based。当前不接受答案。
**想要改进此问题吗?**请更新此问题,以便editing this post可以用事实和引文来回答。

7小时前关闭。
Improve this question
在Kubernetes中部署涉及多个应用程序的Helm图表,例如写入InfluxDB并使用Grafana可视化结果的应用程序,推荐的方法是什么?我应该使用所有三个部署从头创建一个图表,在图表中仅为我的应用程序使用InfluxDB和Grafana的依赖关系,还是使用三个不同的图表,包括我的应用程序的自定义图表和Grafana和InfluxDB的社区图表?
一些选项:
1.一个图表:从头开始创建一个图表,考虑应用程序,influxdb和grafana作为3个不同的部署及其相应的卷,服务…

*优点:完全控制,Pod之间共享凭证方便,一个helm版本控制全解决方案。
*缺点:influxdb和grafana需要复制community工作

1.一个图表:使用influxdb和grafana的依赖项,并为我的应用程序创建图表

*优点:工作量最小,一次释放 Helm 就能控制整个解决方案。
*缺点:如何在Pod之间共享凭证?

  1. 3种不同的图表:Grafana和influxdb图表从社区和另一个自定义为我的应用程序。

*优点:完全控制
*缺点:完整的解决方案取决于3个不同的图表

vsaztqbk

vsaztqbk1#

我相信管理“非你的”Helm Charts的最佳方法是将它们“下载”到你的存储库中,也许结构如你将在下面看到的,并花一些时间来制作你的应用程序的图表。

your-helm-charts-repo --> 
environments
  - test
  - preprod
  - prod 
    - your-app-charts
    - grafana
    - influxdb
      - custom-values.yaml <-- a copy of "original" values with PROD customization
      - Makefile <-- helm upgrade influxdb --install ../../../templates/influxdb --values ./custom-values.yaml -n YOUR-NAMESPACE
templates
  - helm-charts
    - influxdb <-- clone from https://github.com/influxdata/helm-charts/tree/master/charts/influxdb
    - grafana <-- clone from https://github.com/grafana/helm-charts/tree/main/charts/grafana
    - your-app-charts <-- clone from your private git repo

我希望这是可以理解的。

gk7wooem

gk7wooem2#

“最好的”解决方案并不存在。
选择2是一个不错的选择:重用社区图表作为依赖项。共享秘密并不困难:如果您将它们部署在同一个命名空间中,那么您可以使用值envFromSecret为所有凭据设置一个现有的secret。
然而,Influx和Grafana在使用环境变量时有不同的命名约定,因此需要在相同的secret中复制凭证。此外,使用相同的secret,您可以从另一个应用程序中暴露secret。
下面是解决方案3:部署3个不同的独立图表,每个图表都在自己的命名空间中,具有自己的秘密。

相关问题