从服务网格 ASM(Service Mesh)1.21.6.54版本起,支持配置ASMHeaderPropagation请求头透传规则。在使用了Baggage透传能力的前提下,您可以通过ASMHeaderPropagation流量规则来指定利用Baggage在链路上透传自定义请求头。本文介绍ASMHeaderPropagation的配置示例和字段说明。
配置示例
通过ASMHeaderPropagation在请求调用链路上传递指定请求头,可以实现灵活的全链路流量管理场景。以下配置表示为集群中default命名空间下的所有注入Sidecar代理的工作负载增加在调用链路上透传version请求头的能力。
apiVersion: istio.alibabacloud.com/v1beta1
kind: ASMHeaderPropagation
metadata:
name: version-propagation
namespace: default
spec:
headers:
- version
要使version请求头透传生效,需要先配置自动插装,或进行代码改造,使服务具备Baggage透传能力。有关Baggage的具体配置方式以及ASMHeaderPropagation CRD的使用场景,请参见通过配置ASMHeaderPropagation实现宽松模式的流量泳道以及基于哈希打标插件的多标签路由实现按用户比例进行灰度发布。
字段说明
spec
字段 | 类型 | 是否必须 | 说明 |
字段 | 类型 | 是否必须 | 说明 |
workloadSelector | 否 | 通过一个或多个标签,指明请求头透传生效的一组特定的Pod。标签搜索的范围限制在资源所在的配置命名空间。 若不指定,ASMHeaderPropagation的请求头透传规则将生效到指定命名空间的所有工作负载上。 | |
headers | []string | 未配置headerPrefix时必填 | 需要在请求链路上透传的请求头列表。当请求头是此项中指定的任意一个请求头时,请求头将会被透传。 |
headerPrefix | []string | 未配置header时必填 | 匹配一系列需要在请求链路上透传的请求头的前缀。当请求头包含其中指定的任意一项前缀时,请求头将会透传。 |
WorkloadSelector
字段 | 类型 | 是否必须 | 说明 |
字段 | 类型 | 是否必须 | 说明 |
labels | map<string, string> | 是 | 指定规则生效的Pod,至少需要包含一组标签。 |
- 本页导读 (1)
- 配置示例
- 字段说明
- spec
- WorkloadSelector