Le plug-in canary-header ajoute des en-têtes spécifiés à un pourcentage configuré de requêtes et réévalue les routes. Cette fonctionnalité permet des déploiements canari basés sur un pourcentage sans exiger que les clients incluent un en-tête canari.
Champs
|
Élément de configuration |
Type de données |
Obligatoire |
Valeur par défaut |
Description |
|
|
array of object |
Oui |
- |
En-têtes à ajouter et leurs pondérations. |
Le tableau suivant décrit les champs du tableau weighted_headers.
|
Élément de configuration |
Type de données |
Obligatoire |
Valeur par défaut |
Description |
|
|
string |
Oui |
- |
Clé d'en-tête à ajouter. |
|
|
string |
Oui |
- |
Valeur d'en-tête à ajouter. |
|
|
number |
Oui |
- |
Pondération de cet en-tête. Unité : %. La somme des pondérations de tous les en-têtes ne doit pas dépasser 100. |
Si la somme des pondérations de tous les en-têtes est inférieure à 100, le pourcentage restant de requêtes est transféré sans ajout d'en-tête.
Exemples de configuration
Configuration globale
L'exemple suivant ajoute l'en-tête x-higress-canary:gray à 30 % des requêtes et l'en-tête x-higress-canary:base aux 70 % restants.
weighted_headers:
- added_key: x-higress-canary
added_value: gray
weight: 30
- added_key: x-higress-canary
added_value: base
weight: 70
L'exemple suivant ajoute l'en-tête x-higress-canary:gray à 30 % des requêtes. Les 70 % restants sont transférés sans ajout d'en-tête.
weighted_headers:
- added_key: x-higress-canary
added_value: gray
weight: 30
Activer le plug-in pour des routes ou des noms de domaine spécifiques
Lorsque la route route-a correspond, le système ajoute l'en-tête x-higress-canary:gray à 30 % des requêtes et l'en-tête x-higress-canary:base aux 70 % restants, puis réévalue les routes. Par exemple, si une route nommée route-a-gray utilise l'en-tête x-higress-canary:gray pour la mise en correspondance, 30 % des requêtes de route-a correspondent à route-a-gray, ce qui permet des déploiements canari basés sur un pourcentage.
# Use the _rules_ field to configure fine-grained rules.
_rules_:
# Rule 1: Match a route name.
- _match_route_:
- route-a
weighted_headers:
- added_key: x-higress-canary
added_value: gray
weight: 30
- added_key: x-higress-canary
added_value: base
weight: 70
# Rule 2: Match a domain name.
- _match_domain_:
- "*.example.com"
weighted_headers:
- added_key: x-custom-header
added_value: gray
weight: 30
- added_key: x-custom-header
added_value: blue
weight: 30
- added_key: x-custom-header
added_value: base
weight: 40