Description
Argo Workflows est un moteur de workflow open-source, natif des conteneurs, spécifiquement conçu pour orchestrer des tâches parallèles sur Kubernetes. En tant que définition de ressource personnalisée Kubernetes (CRD), il permet aux utilisateurs de définir des workflows où chaque étape est un conteneur, modélisant des workflows multi-étapes comme une séquence de tâches ou capturant des dépendances à l'aide d'un graphe acyclique dirigé (DAG). Cela le rend particulièrement utile pour les tâches intensives en calcul telles que l'apprentissage automatique et le traitement de données, leur permettant de s'exécuter en une fraction du temps.
Argo Workflows est un projet diplômé de la Cloud Native Computing Foundation (CNCF) et est reconnu comme le moteur d'exécution de workflow le plus populaire pour Kubernetes. Il est léger, évolutif et convivial, avec un support pour les utilisateurs Python via le SDK Hera Python. La plateforme est indépendante du cloud, capable de fonctionner sur n'importe quel cluster Kubernetes, et élimine les surcharges et les limitations des environnements hérités basés sur des VM et des serveurs.
Le moteur prend en charge un large éventail de fonctionnalités, y compris une interface utilisateur pour visualiser et gérer les workflows, un support d'artefacts, la modélisation de workflows et l'archivage. Il propose également des workflows programmés utilisant cron, une interface serveur avec API REST, et diverses méthodes de déclaration de workflows. Les capacités supplémentaires incluent des entrées et sorties au niveau des étapes, des boucles, de la paramétrisation, des conditionnels, des délais, des tentatives et de l'orchestration des ressources.
Argo Workflows est utilisé par plus de 200 organisations et s'intègre à plusieurs projets tels qu'Argo Events, Hera, Katib et Kubeflow Pipelines. Il fournit des bibliothèques clientes en Java, Golang, Python et Typescript, et prend en charge plusieurs exécuteurs, des budgets de perturbation de pod et le déclenchement de webhook. La plateforme est idéale pour les secteurs impliqués dans l'apprentissage automatique, le traitement de données et le CI/CD, offrant une solution robuste pour gérer des workflows complexes sur Kubernetes.
Fonctionnalités principales de Argo Workflows
Moteur de workflow open-source
Implémentation CRD Kubernetes
Prend en charge les workflows basés sur DAG et par étapes
Support d'artefacts avec plusieurs options de stockage
Modélisation de workflows et archivage
Workflows programmés utilisant cron
Interface serveur API REST
Prend en charge plusieurs langages de programmation
Comment utiliser Argo Workflows ?
Définir : Créer des workflows en utilisant des conteneurs
Modéliser : Utiliser des DAG ou des étapes pour les dépendances des tâches
Exécuter : Exécuter des workflows sur des clusters Kubernetes
Surveiller : Utiliser l'interface utilisateur pour visualiser et gérer les workflows
Cas d'utilisation de Argo Workflows
- Pipelines d'apprentissage automatique
- Traitement de données
- CI/CD
- Automatisation de l'infrastructure
- Traitement par lots

