Kubernetes:不同的应用程序是否需要单独的部署和服务文件?



我有 3 个微服务应用程序,应该部署在 K8s 中。 我是否需要为此创建 3 个部署文件和 3 个服务文件,还是将所有 3 个部署连接到一个文件(以及服务(?

您没有提供有关这些微服务的信息。

您可以在一个文件中执行此操作,但最佳做法是将每个Applicataion/Microservice放在单独的部署中。

目前可能只有 3microservices但将来您可能会考虑添加新功能,并且需要新的microservices

如果每个microservice采用不同的deployment您将能够进行快速配置更改,而无需滚动许多行 YAML 代码(不太可能在文件中犯语法错误(。 对特定microservices进行故障排除和管理它们之间的流量会更容易 - 您可以使用 Istio 来做到这一点。

由于每个微服务将采用不同的deployment因此你将拥有更多的多功能性,因为你将能够创建一些 initContainers,或者需要使用水平 Pod 自动缩放器。

此外,您不需要仅限于Deployments.您还可以将 StatefulSet 用于特定应用程序(即需要数据库的应用程序(。

您还可以创建自己的 Helm 图表,该图表允许您使用一个命令部署应用程序,但将所有部署组织在目录中。

应为每个服务创建部署和服务定义 YAML,并分别部署它们。

还可以将所有部署和服务定义包含在一个 YAML 文件中,并一次性部署所有内容。

我有所有单独的文件,每个部署、服务、入口等一个文件,每个实体一个文件。 我认为,如果您在集群中开发,最好将它们分开,更容易使用脚本/工具进行版本控制、更新和处理它们。

我有一个开源的在线实验室/测试/博客集群,这是主存储库: https://github.com/vicjicaman/microservice-realm

您可以在此处看到我如何将所有实体分开,希望这可以作为参考案例对您有所帮助。

相关内容

  • 没有找到相关文章

最新更新