如何从不同的应用程序触发 k8s Job?

如何从不同的应用程序触发 k8s Job?

我将简要描述我的应用程序工作流程:我有一个应用程序(cronjob),该应用程序读取我的数据库,我想根据数据库的输出在 Kubernetes 中运行一些作业。有时是 1 个作业,有时是 10 个作业,这取决于具体情况。此外,我想将一些环境传递给此作业。

此外,我在 GCP(Autopilot)上运行 Kubernetes 集群,因此我不希望任何 pod 一直运行。因此,Tekton 中的 EventListener 不是一个好选择,因为 Kubernetes 服务在专用 Pod 内运行接收器逻辑。

我怎样才能以最合适的方式做到这一点?也许我应该使用 K8s API,但还有其他选择吗?

答案1

实现此目的的标准方法是向 cronjob pod 提供的服务帐户提供创建 pod 的权限。

然后从 pod 内部调用 Kubernetes API,使用 kubectl 或以编程方式使用可以与 k8s API 交互的库。

相关内容