Google-Cloud-Platform

如何從不同的應用程序觸發 k8s Job?

  • November 12, 2021

我將簡要描述我的應用程序工作流程:我有一個應用程序(cronjob),這個應用程序讀取我的數據庫,我想根據數據庫的輸出在 Kubernetes 中執行一些作業。有時 1 份工作,有時 10 份工作,這取決於。此外,我想將一些環境傳遞給這份工作。

此外,我在 GCP (Autopilot) 上執行我的 Kubernetes 集群,所以我不想讓任何 pod 一直在執行。因此 Tekton 中的 EventListener 不是一個好的選擇,因為 Kubernetes 服務在專用 Pod 中執行接收器邏輯。

我怎樣才能以最合適的方式做到這一點?可能我應該使用 K8s API,但還有其他選擇嗎?

實現這一點的標準方法是向提供給 cronjob pod 的服務帳戶提供創建 pod 的權限。

然後從 pod 內部呼叫 Kubernetes API,使用 kubectl 或以程式方式使用可以與 k8s API 互動的庫。

引用自:https://serverfault.com/questions/1082832