O plug-in canary-header adiciona cabeçalhos específicos a uma porcentagem configurada de requisições e reavalia as rotas. Esse recurso permite implantações canary baseadas em porcentagem sem exigir que os clientes enviem um cabeçalho canary.
Campos
|
Item de configuração |
Tipo de dados |
Obrigatório |
Valor padrão |
Descrição |
|
|
array of object |
Sim |
- |
Cabeçalhos a adicionar e seus respectivos pesos. |
A tabela a seguir descreve os campos do array weighted_headers.
|
Item de configuração |
Tipo de dados |
Obrigatório |
Valor padrão |
Descrição |
|
|
string |
Sim |
- |
Chave do cabeçalho a adicionar. |
|
|
string |
Sim |
- |
Valor do cabeçalho a adicionar. |
|
|
number |
Sim |
- |
Peso deste cabeçalho. Unidade: %. A soma dos pesos de todos os cabeçalhos não pode exceder 100. |
Se a soma dos pesos de todos os cabeçalhos for menor que 100, a porcentagem restante de requisições será encaminhada sem nenhum cabeçalho adicional.
Exemplos de configuração
Configuração global
O exemplo a seguir adiciona o cabeçalho x-higress-canary:gray a 30% das requisições e o cabeçalho 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
Neste cenário, o cabeçalho x-higress-canary:gray é aplicado a 30% das requisições. Os 70% restantes são encaminhados sem a adição de cabeçalhos.
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
Ao corresponder à rota route-a, o sistema adiciona o cabeçalho x-higress-canary:gray a 30% das requisições e o cabeçalho x-higress-canary:base aos 70% restantes, reavaliando as rotas em seguida. Por exemplo, se uma rota chamada route-a-gray utilizar o cabeçalho x-higress-canary:gray como critério de correspondência, 30% das requisições da route-a corresponderão à route-a-gray, viabilizando implantações canary 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