使用Kubernetes架构在不同节点中部署标准应用程序的可行性

时间:2018-04-25 15:31:53

标签: architecture kubernetes

我计划使用Kubernetes和Jenkins进行微服务部署。

应用性质

我总共有15个Spring Boot微服务。并且需要为不同的客户部署所有这15个微服务 - 每个人都使用相同的代码,但需要单独部署这些服务。意味着每个客户都有自己的部署。总计我有5个客户(这是假设。不完全一个。它将在20到50之间变化)。

我的当前设计

我目前正计划使用5个Kubernetes Nodes.Means一个集群主机加上5个节点。共有6个虚拟机。并计划为5个客户在这5个节点中部署这15个微服务中的每一个。所以每个人都会得到自己的部署。此外,我还将在我的Kubernetes集群主VM中安装Jenkins以制作CI / CD管道。

所以关于所有架构。我只是云应用程序架构和设计的先驱。在这里,我需要知道与此架构相关的任何问题。我需要确认其可行性。

请清楚我对目前做法的困惑。如果这是一个好的,我可以继续。我只是在寻找这是使用Kubernetes的工业标准方式。这是一种很好的架构吗?

1 个答案:

答案 0 :(得分:1)

有些事情会浮现在脑海中:

  • 一个主人是不够的。丢失该VM,底层硬件或主服务器上的服务故障将导致所有客户中断,并可能导致灾难性数据丢失。至少运行3个主人。
  • 每个客户端运行每个服务的不同副本是次优的租赁模型。在很多情况下需要这些,但在这些情况下,每个客户端通常都运行自己独特的服务版本。在微服务架构中管理它是非常糟糕的。
  • CD在每个客户端运行自己的服务副本的环境中,可能是他们自己的每个版本,都是不可能的。
  • JVM是一个繁重的CPU和内存消费者。单个JVM旨在支持多个工作负载。因此,容器资源管理和JVM资源管理以及运行JVM微服务之间可能存在冲突