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

时间:2019-02-27 18:46:37

标签: kubernetes workflow argoproj

我正在探索Argo来协调处理大数据。我希望通过REST调用开始一个工作流,该工作流将大量数据集分配到具有所需处理资源的多台机器之间。从体系结构的角度来看,我将如何做到这一点?是否可以使用REST api或Node.js的某些库?

2 个答案:

答案 0 :(得分:5)

Argo 2.5 introduces its own API

当前有官方支持的GolangJava客户。还有一个社区支持的Python客户。更新将在此处提供:https://github.com/argoproj-labs/argo-client-gen

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

答案 1 :(得分:1)

根据Argo documentation

  

Argo被实现为kubernetes控制器和工作流Custom Resource。 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

您可以在this link之后找到有关Golang,Python,Java,Ruby,OpenAPI的示例。

因此,您可以生成一个描述Argo Workflow资源的YAML文件,并将其发送到示例中所述的Kubernetes API。

希望对您有帮助。