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, как описано в примерах.
Я надеюсь, что это помогает.