Istio 1.14禁用可观测性遥测及默认请求头问题咨询
Istio 1.10+默认添加请求头的变更及根源禁用方案
版本变更说明
Istio从1.10版本开始,默认配置确实会自动向上游请求添加x-envoy-peer-metadata、x-b3-traceid这类请求头:
x-b3-traceid属于链路追踪相关头,由Istio默认启用的Jaeger链路追踪功能生成;x-envoy-peer-metadata是Envoy用于传递服务元数据的请求头,Istio 1.10+默认开启了元数据传递逻辑,即便仅使用流量管理功能,默认配置也会带上这类头。
根源禁用方案(无需Lua Filter移除)
通过调整Istio的全局配置或组件开关,就能从源头阻止这些请求头被添加:
1. 关闭链路追踪(去除x-b3-traceid等追踪头)
在IstioOperator配置中关闭链路追踪功能,安装或升级Istio时生效:
apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: enableTracing: false
已安装集群执行istioctl upgrade -f <配置文件路径>.yaml即可应用变更。
2. 禁用元数据交换(去除x-envoy-peer-metadata等元数据头)
修改meshConfig关闭元数据交换逻辑:
apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: enableMetadataExchange: false
该配置会直接阻止Envoy向上下游请求添加元数据相关头。
3. 彻底禁用遥测组件(可选)
如果完全不需要任何可观测性功能,可以直接关闭Istio的遥测组件:
apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: telemetry: enabled: false
此操作会关闭Prometheus、Jaeger等所有遥测相关组件,同时连带关闭追踪头和元数据头的生成逻辑。
验证生效
修改配置后,重启Istio Ingress Gateway Pod,测试上游收到的请求,确认目标请求头不再出现即可。
内容的提问来源于stack exchange,提问作者Dattaram Porob
相关产品推荐
相关产品推荐

