我正在探索Argo来协调处理大数据。我希望通过REST调用开始一个工作流,该工作流将大量数据集分配到具有所需处理资源的多台机器之间。从体系结构的角度来看,我将如何做到这一点?是否可以使用REST api或Node.js的某些库?
答案 0 :(得分:5)
Argo 2.5 introduces its own API。
当前有官方支持的Golang和Java客户。还有一个社区支持的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。
希望对您有帮助。