5.5. Déclencheurs
5.5.1. Vue d'ensemble des déclencheurs Copier lienLien copié sur presse-papiers!
Les courtiers peuvent être utilisés en combinaison avec des déclencheurs pour transmettre des événements d'une source d'événements à un puits d'événements. Les événements sont envoyés d'une source d'événements à un broker sous la forme d'une requête HTTP POST
. Une fois que les événements sont entrés dans le courtier, ils peuvent être filtrés par les attributs CloudEvent à l'aide de déclencheurs, puis envoyés sous la forme d'une requête HTTP POST
à un puits d'événements.
Si vous utilisez un courtier Knative pour Apache Kafka, vous pouvez configurer l'ordre de livraison des événements des déclencheurs aux puits d'événements. Voir Configuration de l'ordre de livraison des événements pour les déclencheurs.
5.5.1.1. Configuration de l'ordre de livraison des événements pour les déclencheurs Copier lienLien copié sur presse-papiers!
Si vous utilisez un courtier Kafka, vous pouvez configurer l'ordre de livraison des événements des déclencheurs aux puits d'événements.
Conditions préalables
- OpenShift Serverless Operator, Knative Eventing et Knative broker implementation for Apache Kafka sont installés sur votre cluster OpenShift Container Platform.
- L'utilisation du courtier Kafka est activée sur votre cluster et vous avez créé un courtier Kafka.
- Vous avez créé un projet ou avez accès à un projet avec les rôles et autorisations appropriés pour créer des applications et d'autres charges de travail dans OpenShift Container Platform.
-
Vous avez installé le CLI OpenShift (
oc
).
Procédure
Créer ou modifier un objet
Trigger
et définir l'annotationkafka.eventing.knative.dev/delivery.order
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Les garanties de livraison aux consommateurs prises en charge sont les suivantes :
unordered
- Un consommateur non ordonné est un consommateur non bloquant qui délivre des messages non ordonnés, tout en préservant une bonne gestion des décalages.
ordered
Un consommateur ordonné est un consommateur bloquant par partition qui attend une réponse positive de l'abonné CloudEvent avant de délivrer le message suivant de la partition.
La garantie de commande par défaut est
unordered
.
Appliquer l'objet
Trigger
:oc apply -f <filename>
$ oc apply -f <filename>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.5.1.2. Prochaines étapes Copier lienLien copié sur presse-papiers!
- Configurez les paramètres de livraison d'événements qui sont appliqués dans les cas où un événement n'est pas livré à un récepteur d'événements. Voir Exemples de configuration des paramètres de livraison d'événements.
5.5.2. Création de déclencheurs Copier lienLien copié sur presse-papiers!
Les courtiers peuvent être utilisés en combinaison avec des déclencheurs pour transmettre des événements d'une source d'événements à un puits d'événements. Les événements sont envoyés d'une source d'événements à un broker sous la forme d'une requête HTTP POST
. Une fois que les événements sont entrés dans le courtier, ils peuvent être filtrés par les attributs CloudEvent à l'aide de déclencheurs, puis envoyés sous la forme d'une requête HTTP POST
à un puits d'événements.
5.5.2.1. Création d'un déclencheur à l'aide de la perspective de l'administrateur Copier lienLien copié sur presse-papiers!
L'utilisation de la console web d'OpenShift Container Platform offre une interface utilisateur rationalisée et intuitive pour créer un déclencheur. Une fois que Knative Eventing est installé sur votre cluster et que vous avez créé un broker, vous pouvez créer un trigger en utilisant la console web.
Conditions préalables
- OpenShift Serverless Operator et Knative Eventing sont installés sur votre cluster OpenShift Container Platform.
- Vous vous êtes connecté à la console web et vous vous trouvez dans la perspective Administrator.
- Vous disposez des droits d'administrateur de cluster pour OpenShift Container Platform.
- Vous avez créé un courtier Knative.
- Vous avez créé un service Knative à utiliser en tant qu'abonné.
Procédure
-
Dans la perspective Administrator de la console web OpenShift Container Platform, naviguez vers Serverless
Eventing. -
Dans l'onglet Broker, sélectionnez le menu Options
pour le courtier auquel vous voulez ajouter un déclencheur.
- Cliquez sur Add Trigger dans la liste.
- Dans la boîte de dialogue Add Trigger, sélectionnez un Subscriber pour le déclencheur. L'abonné est le service Knative qui recevra les événements du courtier.
- Cliquez sur Add.
5.5.2.2. Création d'un déclencheur à l'aide de la perspective du développeur Copier lienLien copié sur presse-papiers!
L'utilisation de la console web d'OpenShift Container Platform offre une interface utilisateur rationalisée et intuitive pour créer un déclencheur. Une fois que Knative Eventing est installé sur votre cluster et que vous avez créé un broker, vous pouvez créer un trigger en utilisant la console web.
Conditions préalables
- OpenShift Serverless Operator, Knative Serving et Knative Eventing sont installés sur votre cluster OpenShift Container Platform.
- Vous vous êtes connecté à la console web.
- Vous avez créé un projet ou avez accès à un projet avec les rôles et autorisations appropriés pour créer des applications et d'autres charges de travail dans OpenShift Container Platform.
- Vous avez créé un courtier et un service Knative ou un autre puits d'événements pour vous connecter au déclencheur.
Procédure
- Dans la perspective Developer, naviguez jusqu'à la page Topology.
- Survolez le courtier pour lequel vous souhaitez créer un déclencheur et faites glisser la flèche. L'option Add Trigger s'affiche.
- Cliquez sur Add Trigger.
- Sélectionnez votre évier dans la liste Subscriber.
- Cliquez sur Add.
Vérification
- Une fois l'abonnement créé, vous pouvez le visualiser sur la page Topology, où il est représenté par une ligne qui relie le courtier au puits d'événements.
Suppression d'un déclencheur
- Dans la perspective Developer, naviguez jusqu'à la page Topology.
- Cliquez sur le déclencheur que vous souhaitez supprimer.
- Dans le menu contextuel de Actions, sélectionnez Delete Trigger.
5.5.2.3. Création d'un déclencheur à l'aide de la CLI Knative Copier lienLien copié sur presse-papiers!
Vous pouvez utiliser la commande kn trigger create
pour créer un déclencheur.
Conditions préalables
- OpenShift Serverless Operator et Knative Eventing sont installés sur votre cluster OpenShift Container Platform.
-
Vous avez installé le CLI Knative (
kn
). - Vous avez créé un projet ou avez accès à un projet avec les rôles et autorisations appropriés pour créer des applications et d'autres charges de travail dans OpenShift Container Platform.
Procédure
Créer un déclencheur :
kn trigger create <trigger_name> --broker <broker_name> --filter <key=value> --sink <sink_name>
$ kn trigger create <trigger_name> --broker <broker_name> --filter <key=value> --sink <sink_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vous pouvez également créer un déclencheur et créer simultanément le courtier
default
à l'aide de l'injection de courtier :kn trigger create <trigger_name> --inject-broker --filter <key=value> --sink <sink_name>
kn trigger create <trigger_name> --inject-broker --filter <key=value> --sink <sink_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Par défaut, les déclencheurs transmettent tous les événements envoyés à un courtier aux puits qui sont abonnés à ce courtier. L'utilisation de l'attribut
--filter
pour les déclencheurs vous permet de filtrer les événements d'un courtier, de sorte que les abonnés ne reçoivent qu'un sous-ensemble d'événements en fonction des critères que vous avez définis.
5.5.3. Liste des déclencheurs à partir de la ligne de commande Copier lienLien copié sur presse-papiers!
L'utilisation du CLI Knative (kn
) pour lister les déclencheurs offre une interface utilisateur rationalisée et intuitive.
5.5.3.1. Lister les déclencheurs en utilisant le CLI Knative Copier lienLien copié sur presse-papiers!
Vous pouvez utiliser la commande kn trigger list
pour dresser la liste des déclencheurs existants dans votre cluster.
Conditions préalables
- OpenShift Serverless Operator et Knative Eventing sont installés sur votre cluster OpenShift Container Platform.
-
Vous avez installé le CLI Knative (
kn
).
Procédure
Imprimer une liste des déclencheurs disponibles :
kn trigger list
$ kn trigger list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME BROKER SINK AGE CONDITIONS READY REASON email default ksvc:edisplay 4s 5 OK / 5 True ping default ksvc:edisplay 32s 5 OK / 5 True
NAME BROKER SINK AGE CONDITIONS READY REASON email default ksvc:edisplay 4s 5 OK / 5 True ping default ksvc:edisplay 32s 5 OK / 5 True
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Facultatif : Imprimer une liste de déclencheurs au format JSON :
kn trigger list -o json
$ kn trigger list -o json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.5.4. Décrire les déclencheurs à partir de la ligne de commande Copier lienLien copié sur presse-papiers!
L'utilisation du CLI Knative (kn
) pour décrire les déclencheurs offre une interface utilisateur rationalisée et intuitive.
5.5.4.1. Décrire un déclencheur à l'aide de la CLI Knative Copier lienLien copié sur presse-papiers!
Vous pouvez utiliser la commande kn trigger describe
pour imprimer des informations sur les déclencheurs existants dans votre cluster en utilisant le CLI Knative.
Conditions préalables
- OpenShift Serverless Operator et Knative Eventing sont installés sur votre cluster OpenShift Container Platform.
-
Vous avez installé le CLI Knative (
kn
). - Vous avez créé un déclencheur.
Procédure
Entrez la commande :
kn trigger describe <trigger_name>
$ kn trigger describe <trigger_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.5.5. Connexion d'un déclencheur à un puits Copier lienLien copié sur presse-papiers!
Vous pouvez connecter un déclencheur à un puits, de sorte que les événements provenant d'un courtier soient filtrés avant d'être envoyés au puits. Un puits connecté à un déclencheur est configuré en tant que subscriber
dans la spécification des ressources de l'objet Trigger
.
Exemple d'un objet Trigger
connecté à un puits Apache Kafka
5.5.6. Filtrer les déclencheurs à partir de la ligne de commande Copier lienLien copié sur presse-papiers!
L'utilisation de la CLI Knative (kn
) pour filtrer les événements à l'aide de déclencheurs offre une interface utilisateur simplifiée et intuitive. Vous pouvez utiliser la commande kn trigger create
, ainsi que les drapeaux appropriés, pour filtrer les événements à l'aide de déclencheurs.
5.5.6.1. Filtrer les événements avec des déclencheurs en utilisant le CLI Knative Copier lienLien copié sur presse-papiers!
Dans l'exemple de déclenchement suivant, seuls les événements ayant l'attribut type: dev.knative.samples.helloworld
sont envoyés au récepteur d'événements :
kn trigger create <trigger_name> --broker <broker_name> --filter type=dev.knative.samples.helloworld --sink ksvc:<service_name>
$ kn trigger create <trigger_name> --broker <broker_name> --filter type=dev.knative.samples.helloworld --sink ksvc:<service_name>
Vous pouvez également filtrer les événements en utilisant plusieurs attributs. L'exemple suivant montre comment filtrer les événements à l'aide des attributs type, source et extension :
kn trigger create <trigger_name> --broker <broker_name> --sink ksvc:<service_name> \ --filter type=dev.knative.samples.helloworld \ --filter source=dev.knative.samples/helloworldsource \ --filter myextension=my-extension-value
$ kn trigger create <trigger_name> --broker <broker_name> --sink ksvc:<service_name> \
--filter type=dev.knative.samples.helloworld \
--filter source=dev.knative.samples/helloworldsource \
--filter myextension=my-extension-value
5.5.7. Mise à jour des déclencheurs à partir de la ligne de commande Copier lienLien copié sur presse-papiers!
L'utilisation du CLI Knative (kn
) pour mettre à jour les déclencheurs offre une interface utilisateur rationalisée et intuitive.
5.5.7.1. Mise à jour d'un déclencheur à l'aide de la CLI Knative Copier lienLien copié sur presse-papiers!
Vous pouvez utiliser la commande kn trigger update
avec certains drapeaux pour mettre à jour les attributs d'un déclencheur.
Conditions préalables
- OpenShift Serverless Operator et Knative Eventing sont installés sur votre cluster OpenShift Container Platform.
-
Vous avez installé le CLI Knative (
kn
). - Vous avez créé un projet ou avez accès à un projet avec les rôles et autorisations appropriés pour créer des applications et d'autres charges de travail dans OpenShift Container Platform.
Procédure
Mettre à jour un déclencheur :
kn trigger update <trigger_name> --filter <key=value> --sink <sink_name> [flags] (en anglais)
kn trigger update <trigger_name> --filter <key=value> --sink <sink_name> [flags] (en anglais)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vous pouvez mettre à jour un déclencheur pour filtrer les attributs d'événement exacts qui correspondent aux événements entrants. Par exemple, en utilisant l'attribut
type
:kn trigger update <trigger_name> --filter type=knative.dev.event
$ kn trigger update <trigger_name> --filter type=knative.dev.event
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vous pouvez supprimer un attribut de filtre d'un déclencheur. Par exemple, vous pouvez supprimer l'attribut de filtre avec la clé
type
:kn trigger update <trigger_name> --filter type-
kn trigger update <trigger_name> --filter type-
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vous pouvez utiliser le paramètre
--sink
pour modifier le puits d'événement d'un déclencheur :kn trigger update <trigger_name> --sink ksvc:my-event-sink
$ kn trigger update <trigger_name> --sink ksvc:my-event-sink
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.5.8. Suppression de déclencheurs à partir de la ligne de commande Copier lienLien copié sur presse-papiers!
L'utilisation de la CLI Knative (kn
) pour supprimer un déclencheur offre une interface utilisateur rationalisée et intuitive.
5.5.8.1. Suppression d'un déclencheur à l'aide de la CLI Knative Copier lienLien copié sur presse-papiers!
Vous pouvez utiliser la commande kn trigger delete
pour supprimer un déclencheur.
Conditions préalables
- OpenShift Serverless Operator et Knative Eventing sont installés sur votre cluster OpenShift Container Platform.
-
Vous avez installé le CLI Knative (
kn
). - Vous avez créé un projet ou avez accès à un projet avec les rôles et autorisations appropriés pour créer des applications et d'autres charges de travail dans OpenShift Container Platform.
Procédure
Supprimer un déclencheur :
kn trigger delete <trigger_name>
kn trigger delete <trigger_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Vérification
Dresser la liste des déclencheurs existants :
kn trigger list
$ kn trigger list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifiez que le déclencheur n'existe plus :
Exemple de sortie
No triggers found.
No triggers found.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow