我将简要描述我的应用程序工作流程:我有一个应用程序(cronjob),这个应用程序读取我的数据库,我想根据数据库的输出在 Kubernetes 中运行一些作业。有时 1 份工作,有时 10 份工作,这取决于。此外,我想将一些环境传递给这份工作。
此外,我在 GCP (Autopilot) 上运行我的 Kubernetes 集群,所以我不想让任何 pod 一直在运行。因此 Tekton 中的 EventListener 不是一个好的选择,因为 Kubernetes 服务在专用 Pod 中运行接收器逻辑。
我怎样才能以最合适的方式做到这一点?可能我应该使用 K8s API,但还有其他选择吗?
实现这一点的标准方法是向提供给 cronjob pod 的服务帐户提供创建 pod 的权限。
然后从 pod 内部调用 Kubernetes API,使用 kubectl 或以编程方式使用可以与 k8s API 交互的库。