Kubernetes 通过REST调用启动Argo工作流

Kubernetes 通过REST调用启动Argo工作流,kubernetes,workflow,argoproj,argo-workflows,Kubernetes,Workflow,Argoproj,Argo Workflows,我正在探索Argo以协调处理大数据。我希望通过REST调用启动一个工作流,它将一个大型数据集划分到多台具有所需处理资源的机器中。从架构的角度来看,我将如何实现这一点?是否有REST api或Node.js的一些库可供我使用?根据Argo: Argo实现为kubernetes控制器和工作流。Argo本身并不运行API服务器,对于所有CRD,它通过引入新的API组/版本(argorproj.io/v1alpha1)和种类(工作流)来扩展Kubernetes API服务器。在群集中注册CRD时,通过在

我正在探索Argo以协调处理大数据。我希望通过REST调用启动一个工作流,它将一个大型数据集划分到多台具有所需处理资源的机器中。从架构的角度来看,我将如何实现这一点?是否有REST api或Node.js的一些库可供我使用?

根据Argo:

Argo实现为kubernetes控制器和工作流。Argo本身并不运行API服务器,对于所有CRD,它通过引入新的API组/版本(argorproj.io/v1alpha1)和种类(工作流)来扩展Kubernetes API服务器。在群集中注册CRD时,通过在kubernetes API服务器中公开新的端点,可以访问这些资源。
例如,要在默认名称空间中列出工作流,客户端将
HTTP-GET
请求:

https://<k8s-api-server>/apis/argoproj.io/v1alpha1/namespaces/default/workflows
https:///apis/argoproj.io/v1alpha1/namespaces/default/workflows
您可以在下面找到Golang、Python、Java、Ruby和OpenAPI的示例

因此,您可以生成描述Argo工作流资源的YAML文件,并将其发送到Kubernetes API,如示例中所述

我希望它能有所帮助。

Argo 2.5

目前有官方支持的和客户端。还有一个社区支持的客户端。更新将在此处提供:


Argo提供了Swagger API规范,因此为其他语言生成客户端应该相当容易。

有Argo golang sdk的文档吗?@shuiqiang我没有找到任何文档,但有一个例子:argoproj.slack.com也相当活跃。