7.4. Les types de plugins d’admission webhook
Les administrateurs de cluster peuvent appeler vers des serveurs webhook via le plugin d’admission mutant ou le plugin d’admission validant dans la chaîne d’admission du serveur API.
7.4.1. La mutation du plugin d’admission Copier lienLien copié sur presse-papiers!
Le plugin d’admission mutant est invoqué pendant la phase de mutation du processus d’admission, ce qui permet de modifier le contenu de la ressource avant qu’il ne soit persisté. La fonction Pod Node Selector, qui utilise une annotation sur un espace de noms pour trouver un sélecteur d’étiquettes et l’ajouter à la spécification du pod, est un exemple de webhook qui peut être appelé via le plugin d’admission mutant.
Exemple mutant la configuration du plugin d’admission
- 1
- Indique une configuration mutante du plugin d’admission.
- 2
- Le nom de l’objet MutatingWebhookConfiguration. <webhook_name> par la valeur appropriée.
- 3
- Le nom du webhook à appeler. <webhook_name> par la valeur appropriée.
- 4
- Informations sur la façon de se connecter, de faire confiance et d’envoyer des données au serveur webhook.
- 5
- L’espace de noms où le service front-end est créé.
- 6
- Le nom du service front-end.
- 7
- L’URL Webhook utilisée pour les demandes d’admission. <webhook_url> par la valeur appropriée.
- 8
- Certificat CA codé PEM qui signe le certificat de serveur utilisé par le serveur webhook. <ca_signing_certificate> par le certificat approprié au format base64.
- 9
- Les règles qui définissent quand le serveur API doit utiliser ce plugin d’admission webhook.
- 10
- Il y a une ou plusieurs opérations qui déclenchent le serveur API pour appeler ce plugin d’admission webhook. Les valeurs possibles sont la création, la mise à jour, la suppression ou la connexion. De remplacer <opération> et <resource> par les valeurs appropriées.
- 11
- Indique comment la politique doit se dérouler si le serveur webhook n’est pas disponible. * remplacer <policy> par Ignorer (pour accepter inconditionnellement la demande en cas d’échec) ou l’échec (pour refuser la demande rejetée). L’utilisation d’Ignore peut entraîner un comportement imprévisible pour tous les clients.
Dans OpenShift Dedicated 4, les objets créés par les utilisateurs ou les boucles de contrôle via un plugin d’admission mutant peuvent retourner des résultats inattendus, surtout si les valeurs définies dans une requête initiale sont écrasées, ce qui n’est pas recommandé.
7.4.2. La validation du plugin d’admission Copier lienLien copié sur presse-papiers!
La validation d’un plugin d’admission est invoquée pendant la phase de validation du processus d’admission. Cette phase permet l’application des invariants sur des ressources API particulières pour s’assurer que la ressource ne change plus. Le Pod Node Selector est également un exemple de webhook qui est appelé par le plugin d’admission de validation, pour s’assurer que tous les champs nodeSelector sont limités par les restrictions du sélecteur de nœuds sur l’espace de noms.
Exemple de validation de la configuration du plugin d’admission
- 1
- Indique une configuration de plugin d’admission valide.
- 2
- Le nom de l’objet ValidatingWebhookConfiguration. <webhook_name> par la valeur appropriée.
- 3
- Le nom du webhook à appeler. <webhook_name> par la valeur appropriée.
- 4
- Informations sur la façon de se connecter, de faire confiance et d’envoyer des données au serveur webhook.
- 5
- L’espace de noms où le service front-end est créé.
- 6
- Le nom du service front-end.
- 7
- L’URL Webhook utilisée pour les demandes d’admission. <webhook_url> par la valeur appropriée.
- 8
- Certificat CA codé PEM qui signe le certificat de serveur utilisé par le serveur webhook. <ca_signing_certificate> par le certificat approprié au format base64.
- 9
- Les règles qui définissent quand le serveur API doit utiliser ce plugin d’admission webhook.
- 10
- Il y a une ou plusieurs opérations qui déclenchent le serveur API pour appeler ce plugin d’admission webhook. Les valeurs possibles sont la création, la mise à jour, la suppression ou la connexion. De remplacer <opération> et <resource> par les valeurs appropriées.
- 11
- Indique comment la politique doit se dérouler si le serveur webhook n’est pas disponible. * remplacer <policy> par Ignorer (pour accepter inconditionnellement la demande en cas d’échec) ou l’échec (pour refuser la demande rejetée). L’utilisation d’Ignore peut entraîner un comportement imprévisible pour tous les clients.