我有一个使用以下资源进行工作的项目:
在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的最佳做法,这是组织我的项目的好方法吗?
答案 0 :(得分:1)
tl; dr;这不遵循Kubernetes最佳实践。每个应用程序应该是单独的deployment或StatefulSet。
在Kubernetes中运行此代码的更好方法是为每个单独的应用程序使用deployment或StatefulSet,因此它将是:
使用jsf + JBoss的单个容器进行一次部署
一个用于PostgreSQL的StatefulSet(尽管我建议您找一个操作员来管理PostgreSQL集群,即kubedb
一个用于MongoDB的StatefulSet(再次强烈建议使用操作员来管理您的MongoDB集群,kubedb也可以处理)
假设您的Spring Boot应用程序通过网络相互通信,则每个部署每个。然后,您可以彼此独立地进行管理和扩展,而不必考虑彼此之间的依赖性。