首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Istio设置自定义调用源头

使用Istio设置自定义调用源头
EN

Stack Overflow用户
提问于 2019-09-25 19:48:55
回答 2查看 467关注 0票数 0

我有一个使用Kubernetes和Istio的设置,其中我们运行一组服务。我们的每个服务都有一个istio-sidecar和一个REST-api。我们希望的是,每当我们的设置中的一个服务调用另一个服务时,被调用的服务就知道调用者是哪个服务(最好是通过标头)。

查看来自bookinfobookinfo-image的示例图像(由于<10声誉而链接),这意味着在评级服务的源代码中,例如,我希望能够读取一个标头,告诉我请求来自Reviews-v2。

我的直觉告诉我,我应该能够在istio侧车中处理这件事,但我没有意识到具体是如何做到的。

到目前为止,我特别关注了envoy filters,希望他们能帮助我。我看到对于特使筛选器,我可以设置头部,但我没有看到的是,为了在头部中设置它,我如何获得进行调用的服务的信息。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-25 23:48:26

我最终通过使用“规则”找到了另一个解决方案。如果我们确保启用了策略强制,然后添加了规则:

代码语言:javascript
复制
apiVersion: config.istio.io/v1alpha2
kind: rule
metadata:
  name: header-rule
  namespace: istio-system
spec:
  actions: []
  requestHeaderOperations:
    - name: serviceid
      values:
      - source.labels["app"]
      operation: REPLACE

我们实现了我们想要做的事情。

票数 1
EN

Stack Overflow用户

发布于 2019-09-25 21:50:44

特使自动设置X-Forwarded-Client-Cert标头,其中包含调用者的SPIFFE。Istio中的SPIFFE ID是spiffe://cluster.local/ns/<namespace>/sa/<service account>形式的URI。实际上,它指定调用者的Kubernetes服务帐户。您可能希望通过使用Istio httpbin示例并向httpbin:8000/headers发送请求来测试它

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58097675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档