Kickoff Argo рабочие процессы через вызов REST

Я изучаю Арго для организации обработки больших данных. Я хочу начать рабочий процесс с помощью вызова REST, который делит большой набор данных между несколькими машинами с необходимыми ресурсами для обработки. С архитектурной точки зрения, как бы я это сделал? Есть ли REST API или некоторые библиотеки для Node.js, которые я могу использовать?

0 ответов

Argo 2.5 представляет собственный API.

В настоящее время официально поддерживаются клиенты Golang и Java. Существует также клиент Python, поддерживаемый сообществом. Обновления будут доступны здесь: https://github.com/argoproj-labs/argo-client-gen

Argo предоставляет спецификации Swagger API, поэтому создание клиентов для других языков должно быть достаточно простым.

Согласно документации Арго:

Argo реализован как контроллер кубернетов и настраиваемый ресурс рабочего процесса. Сам Argo не запускает сервер API, и со всеми CRD он расширяет сервер API Kubernetes, вводя новую группу / версию API (argorproj.io/v1alpha1) и Kind (рабочий процесс). Когда CRD регистрируются в кластере, доступ к этим ресурсам становится доступным, открывая новые конечные точки на сервере API Kubernetes.
Например, чтобы перечислить рабочие процессы в пространстве имен по умолчанию, клиент должен сделать HTTP GET запрос:

https://<k8s-api-server>/apis/argoproj.io/v1alpha1/namespaces/default/workflows

Вы можете найти примеры для Golang, Python, Java, Ruby, OpenAPI по этой ссылке.

Итак, вы можете сгенерировать YAML-файл с описанием ресурсов Argo Workflow и отправить его в Kubernetes API, как описано в примерах.

Я надеюсь, что это помогает.

Другие вопросы по тегам