El complemento canary-header agrega los encabezados especificados a un porcentaje configurado de las solicitudes y vuelve a evaluar las rutas. Esto permite implementar despliegues canary basados en porcentajes sin que los clientes necesiten enviar un encabezado canary.
Campos
|
Elemento de configuración |
Tipo de dato |
Obligatorio |
Valor predeterminado |
Descripción |
|
|
array of object |
Sí |
- |
Los encabezados que se agregan y sus pesos correspondientes. |
A continuación se describen los campos del arreglo weighted_headers.
|
Elemento de configuración |
Tipo de dato |
Obligatorio |
Valor predeterminado |
Descripción |
|
|
string |
Sí |
- |
La clave del encabezado que se agrega. |
|
|
string |
Sí |
- |
El valor del encabezado que se agrega. |
|
|
number |
Sí |
- |
El peso asignado a este encabezado. Unidad: %. La suma de los pesos de todos los encabezados no puede superar 100. |
Si la suma de los pesos de todos los encabezados es menor que 100, el porcentaje restante de solicitudes se reenvía sin agregar ningún encabezado.
Ejemplos de configuración
Configuración global
En el siguiente ejemplo se agrega el encabezado x-higress-canary:gray al 30 % de las solicitudes y el encabezado x-higress-canary:base al 70 % restante.
weighted_headers:
- added_key: x-higress-canary
added_value: gray
weight: 30
- added_key: x-higress-canary
added_value: base
weight: 70
En este otro ejemplo se agrega el encabezado x-higress-canary:gray al 30 % de las solicitudes. El 70 % restante se reenvía sin agregar ningún encabezado.
weighted_headers:
- added_key: x-higress-canary
added_value: gray
weight: 30
Habilite el complemento para rutas o nombres de dominio específicos
Cuando coincide la ruta route-a, se agrega el encabezado x-higress-canary:gray al 30 % de las solicitudes y el encabezado x-higress-canary:base al 70 % restante. Después, las rutas se vuelven a evaluar. Por ejemplo, si una ruta llamada route-a-gray utiliza el encabezado x-higress-canary:gray como criterio de coincidencia, el 30 % de las solicitudes de route-a coincide con route-a-gray. De esta forma se habilitan los despliegues canary basados en porcentajes.
# 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