在Kubernates中组织豆荚的最佳做法

时间:2018-12-08 11:55:09

标签: kubernetes

我有一个使用以下资源进行工作的项目:

  • 在JBoss下运行并使用PostgreSQL的jsf应用程序

  • 2使用MongoDB的Spring Boot API。

所以,我有以下泊坞窗:

  • 同一码头工人中的jsf + JBoss

  • PostgreSQL docker

  • mongo docker

  • 每个spring boot应用程序一个泊坞窗。

在kubernates中,我需要在POD中组织这个容器,所以我的想法是创建以下内容:

  • jsf + JBoss docker的POD

  • PostgreSQL的另一个

  • 用于MongoDB的另一个POD

  • 两个Spring Boot应用程序只有一个POD,因为它们彼此需要。

所以,我有4个POD和6个容器。考虑使用ks8的最佳做法,这是组织我的项目的好方法吗?

1 个答案:

答案 0 :(得分:1)

tl; dr;这不遵循Kubernetes最佳实践。每个应用程序应该是单独的deploymentStatefulSet

在Kubernetes中运行此代码的更好方法是为每个单独的应用程序使用deploymentStatefulSet,因此它将是:

使用jsf + JBoss的单个容器进行一次部署

一个用于PostgreSQL的StatefulSet(尽管我建议您找一个操作员来管理PostgreSQL集群,即kubedb

一个用于MongoDB的StatefulSet(再次强烈建议使用操作员来管理您的MongoDB集群,kubedb也可以处理)

假设您的Spring Boot应用程序通过网络相互通信,则

每个部署每个。然后,您可以彼此独立地进行管理和扩展,而不必考虑彼此之间的依赖性。