簡體   English   中英

如何從集群中正在運行的 Spring Boot 應用程序中動態創建 Kubernetes 資源

[英]How to dynamically create Kubernetes resources from within a running spring boot application in the cluster

我確實有一個 Spring Boot 微服務(SERVICE A)和 Artemis JMS 服務器在 Azure AKS 集群內部運行,React Web 應用程序也從集群內部提供靜態頁面。 這三個應用程序具有 Kubernetes 部署和服務資源,並使用helm chart 進行部署。

現在,每當用戶從 UI 創建條目時,我都需要按需啟動另一個微服務。 例如,我確實為客戶微服務預定義了 Kubernetes 資源(如舵圖),但只需要在用戶創建客戶時啟動微服務,而且每次創建新客戶時,我都需要啟動另一個客戶微服務實例. 我還需要在每次創建客戶微服務時將客戶名稱作為環境變量傳遞給客戶微服務,以便每個客戶微服務可以訂閱特定主題。

有沒有辦法實現這一目標? 我也想管理創建的微服務。 比如,當客戶被刪除時,我需要刪除與客戶相關的Kubernetes資源。 使用舵圖很容易實現這一點嗎? 但我想知道如何從正在運行的 Spring boot 應用程序中管理舵圖。

這可以使用 Fabric8 庫來實現嗎?

任何建議都會非常有幫助。

為此,您實際上並不需要 Helm 圖表。 通常,您可以像從集群外部一樣從集群中運行的應用程序訪問Kubernetes API Kubernetes API 是一個 HTTP REST API,您只需要使用正確的身份驗證憑據向它發出 HTTP 請求。

由於您使用的是 Java,您可以使用 Kubernetes 的官方Java 客戶端庫來訪問 Kubernetes API 並直接從您的應用程序代碼中創建/刪除任何資源。

Java 客戶端庫還幫助您使用正確的身份驗證並處理任何其他細節。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM