Spring boot 如何从集群中运行的spring引导应用程序中动态创建Kubernetes资源

Spring boot 如何从集群中运行的spring引导应用程序中动态创建Kubernetes资源,spring-boot,kubernetes,microservices,kubernetes-helm,fabric8,Spring Boot,Kubernetes,Microservices,Kubernetes Helm,Fabric8,我确实有一个SpringBootMicroService(服务a)和ArtemisJMS服务器在Azure AKS集群内运行,React web应用程序也在集群内为静态页面提供服务。这三个应用程序具有Kubernetes部署和服务资源,并使用helm图表进行部署 现在,每当用户从UI创建条目时,我需要根据需要启动另一个微服务。 例如,我确实为客户微服务预先定义了Kubernetes资源(如helm图表),但只需要在用户创建客户时启动微服务,而且每次创建新客户时,我都需要启动另一个客户微服务实例。

我确实有一个SpringBootMicroService(服务a)和ArtemisJMS服务器在Azure AKS集群内运行,React web应用程序也在集群内为静态页面提供服务。这三个应用程序具有Kubernetes部署和服务资源,并使用helm图表进行部署

现在,每当用户从UI创建条目时,我需要根据需要启动另一个微服务。 例如,我确实为客户微服务预先定义了Kubernetes资源(如helm图表),但只需要在用户创建客户时启动微服务,而且每次创建新客户时,我都需要启动另一个客户微服务实例。每次创建customer microservice时,我还需要将customer name作为环境变量传递给customer microservice,这样每个customer microservice都可以订阅特定的主题

有没有办法做到这一点?我还想管理创建的微服务。例如,当客户被删除时,我需要删除与客户相关的Kubernetes资源。使用舵图容易做到这一点吗?但是我想知道如何在运行的Spring boot应用程序中管理helm图表

这可以通过使用Fabric8库来实现吗


任何建议都会大有帮助

你真的不需要掌舵图。通常,您可以从群集中运行的应用程序访问,访问方式与从群集中外部访问相同。Kubernetes API是一个HTTP REST API,您只需使用适当的身份验证凭据向其发出HTTP请求

因为您使用的是Java,所以可以使用官方的Kubernetes来访问Kubernetes API,并直接从应用程序代码中创建/删除任何资源


Java客户端库还可以帮助您使用正确的身份验证,并负责处理任何其他详细信息。

您并不需要一个掌舵图。通常,您可以从群集中运行的应用程序访问,访问方式与从群集中外部访问相同。Kubernetes API是一个HTTP REST API,您只需使用适当的身份验证凭据向其发出HTTP请求

因为您使用的是Java,所以可以使用官方的Kubernetes来访问Kubernetes API,并直接从应用程序代码中创建/删除任何资源


Java客户端库还可以帮助您使用正确的身份验证,并处理所有其他细节。

Fabric8 Maven插件可以帮助您的用例。Fabric8 Maven插件可以帮助您的用例。既然您已经决定用Java客户端做所有这些事情,那么您可以使用比官方Java客户端库更好、更可信的库来做所有这些事情。既然您已经决定用Java客户端做所有这些事情,您可以使用比官方Java客户机库更好、更可信的库来完成所有这些工作