alibaba / higress

🤖 AI Gateway | AI Native API Gateway
https://higress.io
Apache License 2.0
2.91k stars 477 forks source link

对接 Skywalking 和 OTel 服务时强制为对应的 Cluster 启用 HTTP2 协议 #1316

Open CH3CHO opened 3 weeks ago

CH3CHO commented 3 weeks ago

Why do you need it?

在 Higress 配置了对接外部的 Skywalking 或者 OTel 服务时,由于目前通过 MCP 下发的 Cluster 配置在未配置路由的情况下,无法指定其对应的后端协议,而相关功能又依赖 gRPC 协议转发,无法正常工作。

How could it be?

通过修改 Controller 生成的 EnvoyFilter 配置,为对应的 Cluster Patch 上 以下配置:

"typed_extension_protocol_options": {
  "envoy.extensions.upstreams.http.v3.HttpProtocolOptions": {
    "@type": "type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions",
    "explicit_http_config": {
      "http2_protocol_options": {}
    }
  }
}

Other related information

https://github.com/alibaba/higress/issues/1314

whalecold commented 2 weeks ago

I want to try it, could you assign it to me