微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在整个集群中传播传入服务网格的标头

如何解决在整个集群中传播传入服务网格的标头

我已在 istio 集群上设置了启用 kubernetes 的微服务架构。

我的 istio-ingressgateway 由 Cloudflare 代理。

后者生成特定标头,即 cf-ray支持对与 cloudflare 相关的问题进行故障排除。

我的问题是如何启用我的服务网格,即在边缘(即 istio-ingressgateway)和所有边车中传播 cf-ray id 标头。

istio 关于 VirtualService 资源的文档,在关于 HeaderOperationssection 中,列出了 3 个可用操作,即 setaddremove

addremove 似乎与我要执行的操作更无关,但是 set 似乎也要求设置特定值。

我只想要一个传递/传播类型的操作,其中 istio 在看到 cf-ray 标头时会传递它

a) 在集群中(当它关于入口网关时)

b) 从每个 sidecar 到主容器(不用说,在这种情况下,主容器的应用程序有责任从那时起继续传播)

解决方法

您没有边车传播标题的问题,因为边车默认这样做。就像您必须在 Istio 中配置跟踪一样。您只需生成并传播一些标头,无需对边车做任何事情。

关于生成部分,其实你要使用的字段是addset 将通过其他方式更改标头值(例如,您有 setfoo: bar,如果您收到带有 foo: baz 的请求,它将设置为 {{1} })。另一方面,foo: bar 会将 add 添加到您的请求中。

关于如何让请求进入集群的部分,在边缘应该没有问题,通过cf-ray你不用配置headers。所以,它只会传递给服务。

示例

Gateway

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。