Aller au contenu principal

Argo Workflows et Argo Events : industrialiser des milliers de traitements par lots sur Kubernetes

Remplacer un ordonnanceur d'entreprise par Argo Workflows et Argo Events : chaînes de traitements, artefacts entre étapes, reprise, déclenchement sur événement. Chaque mesure est relevée sur un cluster réel, avec de vrais programmes qui lisent et produisent de vrais fichiers.

coolibra14 août 202611 vues

Le problème

Imaginez un établissement financier qui exécute plusieurs milliers de traitements par lots chaque mois. L'arrêté comptable de la nuit, les virements de la journée, le reporting réglementaire de fin de mois. Ils sont pilotés par un ordonnanceur d'entreprise installé sur des serveurs dédiés, qui fait très bien son travail : calendriers ouvrés, fenêtres d'exécution, dépendances, reprise à l'étape échouée, piste d'audit.

Ce qu'il coûte est ailleurs. Les chaînes sont décrites dans un format que seul cet outil comprend. Ajouter un traitement demande une intervention de l'équipe qui le détient. Personne ne peut dire à quoi ressemblait une chaîne il y a trois mois. Et la capacité d'exécution est dimensionnée pour la pointe de fin de mois, donc inutilisée le reste du temps.

Cette formation construit l'équivalent sur Kubernetes, en répondant aux mêmes exigences d'exploitation.

Objectifs

  1. Décrire une chaîne de traitements avec ses étapes, ses dépendances et ses paramètres, dans un fichier qu'une équipe peut relire et versionner.

  2. Faire circuler des fichiers entre les étapes, et comprendre pourquoi un volume partagé ne suffit pas à l'échelle.

  3. Réutiliser une définition entre plusieurs chaînes, et la planifier sur un calendrier.

  4. Exploiter au quotidien : reprendre après un échec, borner le parallélisme, respecter une fenêtre, archiver l'historique, alerter la bonne équipe.

  5. Déclencher sur événement, à l'arrivée d'un fichier ou d'un message, plutôt qu'à heure fixe.

  6. Migrer des chaînes existantes en lisant leur définition d'origine, plutôt qu'en les réécrivant à la main.

  7. Assembler le tout sur un cas complet, et le recevoir sur des critères exécutables plutôt que sur une impression.

Le fil rouge, et pourquoi il est réaliste

Un ordonnanceur historique est simulé par un conteneur écrit pour la formation, qui publie ses chaînes dans un format textuel propriétaire. Il sert de point de départ concret, et de source au module de migration, qui traduit ses définitions en chaînes Argo par un script plutôt qu'à la main.

La chaîne d'arrêté comptable traverse toute la formation. Elle a quatre étapes, dont deux tournent en parallèle, et elle repose sur de vrais programmes qui lisent des fichiers et en produisent d'autres, consommés par les étapes suivantes.

Les quatre programmes sont fournis en entier. Ils ne simulent rien : l'extraction écarte les lignes non comptabilisables en disant pourquoi, le contrôle refuse la suite si la balance n'est pas équilibrée, la valorisation applique un cours de change, et l'édition refuse de produire le document si le contrôle n'est pas conforme.

Le langage n'est pas le sujet. Deux de ces traitements sont écrits en Python et deux en Java, simplement pour montrer qu'une chaîne réelle en mélange plusieurs et que cela ne change rien à la façon de l'orchestrer. Ce que vous apprendrez vaut pour un binaire, un script shell, un programme Go ou un utilitaire livré par un éditeur : Argo exécute une image, quel que soit ce qu'elle contient.

Comment cette formation est faite

Chaque commande, chaque sortie de terminal et chaque durée publiée ici a été exécutée sur un cluster réel, sous Argo Workflows 4.1 et Argo Events 1.9. Les résultats contrariants aussi : quand une mesure contredit ce qui se raconte, c'est la mesure qui est écrite, avec les chiffres.

Tous les chapitres suivent la même trame : le problème, les termes à définir, la démonstration mesurée, un exemple complet qu'on peut copier et exécuter en entier, les pièges qui coûtent une demi-journée, puis ce qu'il faut retenir.

Le lab

Un cluster Kubernetes de quatre machines, un plan de contrôle et trois nœuds de travail, 4 vCPU et 4 Go de mémoire chacun. Un registre d'images et un serveur Git complètent le décor.

Vous pouvez les créer en quelques minutes sur CETIC Cloud Platform : à la création du compte, une fois l'adresse e-mail activée, 180 euros de crédit sont offerts, valables un mois, largement de quoi suivre toute la formation.

Prérequis

Kubernetes au niveau du quotidien : Pod, Deployment, Job, ConfigMap, et l'usage courant de kubectl. La ligne de commande. Savoir lire un programme suffit, quel que soit son langage : il n'est jamais demandé d'en écrire.

Aucune connaissance préalable d'Argo n'est nécessaire. La formation Argo CD du même atelier n'est pas un prérequis, mais les deux se complètent.

Chapitres