slime-io / slime

An intelligent ServiceMesh manager based on Istio
https://slime-io.github.io/
Other
424 stars 78 forks source link

to_global_sidecar envoyfilter match proxyVersion #424

Closed Patrick0308 closed 10 months ago

Patrick0308 commented 1 year ago

问题背景

to_global_sidecar envoyfilter 在新版与旧版中有存在兼容问题,istio 升级时,存在有一部分 sidecar 兼容有一部分 sidecar 不兼容。

您想要的解决方案 to_global_sidecar 添加 proxyVersion 匹配,只应用于高版本的 sidecar

您考虑过的替代方案

额外的上下文

MouceL commented 1 year ago

从版本升级兼容性方面考虑, 确实很重要

我们前段时间在plugin中也加了类似功能

Patrick0308 commented 1 year ago

https://github.com/Patrick0308/slime/blob/feat-proxy-version/staging/src/slime.io/slime/modules/lazyload/charts/global-sidecar/templates/cluster-global-sidecar.yaml#L155 不太清楚,这里为什么把 global-sidecar 的 version 设置为了 999.0.0,这个导致 proxyVersion 的匹配有点问题

MouceL commented 1 year ago

https://github.com/Patrick0308/slime/blob/feat-proxy-version/staging/src/slime.io/slime/modules/lazyload/charts/global-sidecar/templates/cluster-global-sidecar.yaml#L155 不太清楚,这里为什么把 global-sidecar 的 version 设置为了 999.0.0,这个导致 proxyVersion 的匹配有点问题

这个是由于社区版本istio安装后,会有一些关于metadata/stats 的envoyfilter, 并带有proxyVersion

之前发现这些会影响到prometheus方式的懒加载,所以在gs上加了个999, 表示这些永远match不上gs

但目前通过accesslog方式,似乎可以去掉了,待我验证下后,提个开关出来

YonkaFang commented 1 year ago

accesslog模式下不渲染这个即可,不用额外开关

MouceL commented 1 year ago

https://github.com/slime-io/slime/pull/426