Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes Helm图表微服务_Kubernetes_Microservices_Kubernetes Helm - Fatal编程技术网

Kubernetes Helm图表微服务

Kubernetes Helm图表微服务,kubernetes,microservices,kubernetes-helm,Kubernetes,Microservices,Kubernetes Helm,假设我正在开发一个基于微服务的应用程序。他们将与Helm Package Manager一起部署到kubernetes。一些微服务最终具有非常相似的YAML文件配置。其他一些可能在YAML配置方面有所不同。这方面的最佳做法是什么?我有几个选择: 使用通用图表,使用values.env.yaml为每个微服务传递不同的配置,然后使用不同的发布名称部署它 为每一个微服务创建一个图表,无论它们在配置方面是否相似 这是一个意见问题,所以我将用一个意见来回答 优点:您只需更改values.yaml中的几个值

假设我正在开发一个基于微服务的应用程序。他们将与Helm Package Manager一起部署到kubernetes。一些微服务最终具有非常相似的YAML文件配置。其他一些可能在YAML配置方面有所不同。这方面的最佳做法是什么?我有几个选择:

  • 使用通用图表,使用values.env.yaml为每个微服务传递不同的配置,然后使用不同的发布名称部署它
  • 为每一个微服务创建一个图表,无论它们在配置方面是否相似

  • 这是一个意见问题,所以我将用一个意见来回答

  • 优点:您只需更改values.yaml中的几个值,这取决于微服务,维护values.yml会更容易。你的掌舵图可能不会增长得那么快

    缺点:例如,创建helpers.tpl文件将更加困难。该文件将快速增长,并且可能会让创建微服务的人感到困惑

  • 好处:当您扩展到数百时,您的微服务将分离。开发人员只能在他们的微服务部署上工作

    缺点:文件扩散,到处都是太多的文件,你的掌舵图回购会快速增长。此外,还存在大量代码重复的风险


  • 更普遍的做法是官方掌舵图的第二位,但同样,每个图都适用于不同的应用。

    就像@Rico提到的,这是一个意见问题。以下是我的看法:

    我认为从一张适合所有人的图表开始是个好主意。但是,当您必须只为少数具有特殊要求的服务添加非常具体的内容时,您应该创建另一个图表。当涉及到微服务时,这个想法与


    在我的公司里,我们有一张30种服务的图表。它们的需求非常相似,因此模板文件并不太复杂,_helpers文件只有大约50行。我们对这个解决方案非常满意,因为您只需要几行values.yaml就可以为您的服务做好准备。

    我们目前对#2方法感到满意。我倾向于支持松散耦合的系统,即使在配置时也是如此。当事情变得糟糕时,我们可能会再次讨论这个问题。