Skip to content

Installation

Guide pour installer et vérifier Argo Events sur Kubernetes, intégrer optionnellement Argo Workflows, inspecter les ressources, visualiser l'intégration de l'UI et résoudre les problèmes courants au démarrage.

Ce guide montre comment installer Argo Events dans un cluster Kubernetes, vérifier que le contrôleur fonctionne, et intégrer optionnellement Argo Workflows pour déclencher des workflows à partir des événements. Suivez les étapes ci-dessous pour déployer le contrôleur, inspecter les ressources installées et résoudre les problèmes courants au démarrage.

Vue d'ensemble

  • Installez le namespace argo-events et les manifests d'Argo Events.
  • (Optionnel) Installez Argo Workflows si vous prévoyez de déclencher des workflows à partir des événements.
  • Vérifiez les CRDs, RBAC, les config maps et le déploiement du contrôleur.
  • Inspectez les pods et les logs pour vous assurer que le contrôleur est prêt.
  • Utilisez l'UI d'Argo Workflows pour afficher les EventSources et les Sensors lorsque l'intégration est faite.

Prérequis

  • Un cluster Kubernetes avec kubectl configuré pour cibler ce cluster.
  • (Optionnel) Si vous prévoyez d'utiliser l'UI d'Argo Workflows, installez Argo Workflows dans le cluster.

Installation

1. Installation Argo Workflows

Étant donné que nous devons déclencher un workflow, nous devons d'abord installer Argo Workflows. Pour cela, créez le namespace respectif argo et appliquez le fichier YAML d'installation dans ce namespace. Exécutez les commandes ci-dessous:

ARGO_WORKFLOWS_VERSION="v4.0.3"
kubectl create namespace argo
kubectl apply --server-side -n argo -f "https://github.com/argoproj/argo-workflows/releases/download/${ARGO_WORKFLOWS_VERSION}/quick-start-minimal.yaml"
kubectl -n argo port-forward service/argo-server 2746:2746
https://localhost:2746/

Vous devriez voir l'écran suivant : (Capture d'écran du démarrage d'Argo Workflows) Assurez-vous de sélectionner "argo-events" comme namespace.


Créez le namespace argo-events et appliquez le manifest officiel d'installation d'Argo Events :

kubectl create namespace argo-events
kubectl apply -f https://raw.githubusercontent.com/argoproj/argo-events/stable/manifests/install.yaml
# Optionnel : installer Argo Workflows (si vous allez déclencher des workflows à partir des événements)
# kubectl create namespace argo
# kubectl apply -n argo -f https://raw.githubusercontent.com/argoproj/argo-workflows/stable/manifests/install.yaml

Vous devriez voir un résultat similaire à l'exemple ci-dessous lorsque Kubernetes crée les CRDs, RBAC, ConfigMaps et le déploiement du contrôleur :

namespace/argo-events créé
customresourcedefinition.apiextensions.k8s.io/eventbus.argoproj.io créé
customresourcedefinition.apiextensions.k8s.io/eventsources.argoproj.io créé
customresourcedefinition.apiextensions.k8s.io/sensors.argoproj.io créé
serviceaccount/argo-events-sa créé
clusterrole.rbac.authorization.k8s.io/argo-events-aggregate-to-admin créé
clusterrole.rbac.authorization.k8s.io/argo-events-aggregate-to-edit créé
clusterrole.rbac.authorization.k8s.io/argo-events-aggregate-to-view créé
clusterrole.rbac.authorization.k8s.io/argo-events-role créé
clusterrolebinding.rbac.authorization.k8s.io/argo-events-binding créé
configmap/argo-events-controller-config créé
deployment.apps/controller-manager créé

Vérification de l'installation

Listez toutes les ressources dans le namespace argo-events :

kubectl -n argo-events get all

Lorsque les images sont téléchargées et que le pod est planifié, le pod du contrôleur peut afficher ContainerCreating jusqu'à ce que le conteneur soit prêt. Exemple de sortie lorsque le contrôleur est encore en cours de démarrage :

NAME                                          READY   STATUS             RESTARTS   AGE
pod/controller-manager-59884fd695-kt5gm      0/1     ContainerCreating  0          10s

NAME                                 READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/controller-manager   0/1     1            0           10s

NAME                                                DESIRED   CURRENT   READY   AGE
replicaset.apps/controller-manager-59884fd695        1         1         0       10s

UI : Visualisation des EventSources et des Sensors

Argo Events ne propose pas d'UI web autonome. Si vous installez Argo Workflows et l'intégrez à Argo Events, l'UI d'Argo Workflows peut afficher les EventSources et les Sensors. Ouvrez l'UI d'Argo Workflows et sélectionnez le namespace approprié (par exemple, argo-events) pour afficher les ressources liées aux événements.

Capture d'écran de l'UI Web d'Argo Workflows montrant une liste de workflows avec des colonnes pour le nom, le namespace, les horaires de début/fin, la durée et l'avancement, plus un panneau de filtre à gauche.

Lorsqu'aucun EventSource n'est présent, la page des Event Sources montre un état vide avec un bouton pour créer un nouveau EventSource.

Capture d'écran de l'UI web de la page des Event Sources d'Argo Events affichant un message 'Aucun event source' avec un bouton '+ CRÉER UN NOUVEL EVENTSOURCE'.

La page des Sensors de l'UI affiche également un état vide jusqu'à ce que des sensors soient créés. L'éditeur visuel aide à illustrer comment les sensors se connectent aux déclencheurs, à l'EventBus, et à d'autres composants.

Capture d'écran du navigateur de la page 'Sensors' d'Argo Events affichant un message 'Aucun sensor' avec un bouton '+ CRÉER UN NOUVEAU SENSOR'.

Si le pod du contrôleur reste en état ContainerCreating ou entre en CrashLoopBackOff, inspectez les événements et les logs du pod avec : * kubectl -n argo-events describe pod <pod-name> * kubectl -n argo-events logs <pod-name> Ces commandes permettent d'identifier les erreurs de planification, de téléchargement d'image ou d'exécution.

Ressources courantes créées par l'installation

Type de ressource Objectif
CustomResourceDefinitions (CRDs) Définir les ressources personnalisées EventBus, EventSource et Sensor
ServiceAccount, ClusterRole, ClusterRoleBinding RBAC pour le contrôleur afin de surveiller et gérer les ressources
ConfigMap Configuration du contrôleur (par exemple, métriques, paramètres de l'event bus)
Deployment / ReplicaSet / Pod Gestionnaire du contrôleur qui réconcilie les EventSources et les Sensors

Liste de contrôle pour le dépannage

  • Confirmez que le pod du contrôleur est planifié et non en attente :

  • kubectl -n argo-events get pods

  • Si ContainerCreating, vérifiez l'espace sur le nœud et les erreurs de téléchargement d'images :

  • kubectl -n argo-events describe pod <pod-name>

  • Si le pod plante de manière répétée, consultez les logs pour obtenir des traces d'erreurs :

  • kubectl -n argo-events logs <pod-name>

  • Vérifiez que les CRDs ont été créés avec succès :

  • kubectl get crd | grep argo

Étapes suivantes

  • Attendez que le pod controller-manager atteigne l'état READY avant de créer des EventSources et des Sensors.
  • Créez des manifests EventSource et Sensor pour