O plug-in canary-header adiciona headers especificados a uma porcentagem configurada de requisições e refaz o roteamento, viabilizando canary releases baseadas em porcentagem sem exigir que os clientes enviem um canary header.
Campos
|
Configuration item |
Data type |
Required |
Default value |
Description |
|
|
array of object |
Yes |
- |
Os headers a adicionar e seus pesos. |
A tabela a seguir descreve os campos do array weighted_headers.
|
Configuration item |
Data type |
Required |
Default value |
Description |
|
|
string |
Yes |
- |
A chave do header a adicionar. |
|
|
string |
Yes |
- |
O valor do header a adicionar. |
|
|
number |
Yes |
- |
O peso atribuído a este header. Unidade: %. O peso total de todos os headers não pode exceder 100. |
Se o peso total de todos os headers for inferior a 100, a porcentagem restante das requisições é encaminhada sem nenhum header adicional.
Exemplos de configuração
Configuração global
O exemplo a seguir adiciona o header x-higress-canary:gray a 30% das requisições e o header x-higress-canary:base aos 70% restantes.
weighted_headers:
- added_key: x-higress-canary
added_value: gray
weight: 30
- added_key: x-higress-canary
added_value: base
weight: 70
O exemplo a seguir adiciona o header x-higress-canary:gray a 30% das requisições. Os 70% restantes são encaminhados sem nenhum header adicional.
weighted_headers:
- added_key: x-higress-canary
added_value: gray
weight: 30
Ative o plug-in para rotas ou nomes de domínio específicos
Quando a rota route-a é correspondida, o header x-higress-canary:gray é adicionado a 30% das requisições e o header x-higress-canary:base aos 70% restantes. Em seguida, o roteamento é refeito. Por exemplo, se uma rota chamada route-a-gray usa o header x-higress-canary:gray como critério de correspondência, 30% das requisições de route-a passam a corresponder a route-a-gray, viabilizando canary releases baseadas em porcentagem.
# 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