问题标签 [istio-sidecar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
10 浏览

istio-sidecar - Istio 如何将流量路由到服务

我是 Istio 的新手,想了解 Istio 的内部架构。

阅读 Service Mesh 的文档,我看到 Istio 控制器将 Envoy 代理与现有服务一起部署为边车,并将服务配置为与 Envoy 代理对话。

在 Kubernetes 环境中,我想了解以下内容:

  1. Istio 如何配置给定服务以与 Kubernetes 环境中的其他服务通信?是通过 IPTables 吗?任何解释这一点的架构图?
  2. Istio 控制器发现 kubernetes 集群中的服务并更新 Envoy 代理。配置或代理如何启用 Envoy 上的入口和出口流量?
0 投票
1 回答
300 浏览

microservices - Istio jwt 解析并填充到请求标头中

我有几个微服务并使用 istio。由于某些业务需求,需要每个微服务中的最终用户角色详细信息。我想知道如何在请求标头中填充声明(最终用户角色)(jwt)。我在 istio yml 下进行了配置。

outputPayloadToHeader此元素有助于在标头中填充不记名令牌。Istio 只是验证 jwt(承载)。但想知道如何配置以在请求标头中填充 jwt 有效负载元素。我已附上屏幕截图,有效负载属性应传播到请求标头。这样我的微服务(想要名称(“Gaurav Agarwal”))将从标题中读取。无论如何配置RequestAuthentication或任何其他方式?

在此处输入图像描述

0 投票
1 回答
108 浏览

kubernetes - Istio 基于子集/标签的 Pod 到 Pod 通信

我有4个微服务。

只有 service-1 后面有两个部署,所以 service-1 后面有两个 pod。你可以称之为蓝绿色部署。

其他三个服务有一个部署和一个pod。

如果我想将外部流量发送到 server-1/pod-v2,那么我可以通过子集将其控制到目标规则中。service-2 的 pod 可以通过 service name 调用 service-1 的 pod。

如何为 service-2/pod 配置 istio 只能通过服务名称调用 service-1/pod-v2 而其他服务只能通过服务名称调用 service-1/pod-v1 ?

服务架构

0 投票
0 回答
34 浏览

istio - 如何在特使过滤器中使用 hcm 过滤器?

伙计们!我想通过使用 hcm 来分配出口流量,例如

www.xxx.com:8000(边车) -> clusterA(出口)

www.yyy.com:8000(边车) -> clusterB(出口)

休息请求(边车)-> 原始进程(出口)

匹配请求可以正确路由,但是不匹配请求怎么办?

不匹配的请求现在得到 404 响应。

我想在原始路径中处理不匹配的请求。

那么如何修改yaml配置来实现这个目标??有没有最佳实践?</p>

0 投票
1 回答
96 浏览

kubernetes - 是否可以使用 RequestAuthentication 和 AuthenticationPolicy 进行微服务到微服务的通信

我们最近在我们的 kubernetes 集群上设置了 istio,并试图看看我们是否可以使用 RequestAuthentication 和 AuthenticationPolicy 使我们能够只允许命名空间 x 中的 pod 与命名空间 y 中的 pod 通信,前提是它具有有效的 jwt 令牌。

我在网上看到的所有示例似乎都只通过网关申请最终用户身份验证,而不是内部 pod 到 pod 通信。

我们尝试了几种不同的选择,但还没有运气。

我们可以让 AuthenticationPolicy 使用“from”来处理 pod 到 pod 的流量,源是命名空间 x 中 pod 的 IP 地址:

当我们为 jwt 添加 when 块时,它不起作用:

也试过这个,但似乎也不起作用:

提前致谢!

0 投票
0 回答
37 浏览

webassembly - EnvoyFilter WASM (C++) - 读取容器的环境变量

在 EnvoyFilter WASM (C++) 中,我需要读取 Envoy 容器的环境变量。

我尝试使用此处提到的“environ_get”:https ://github.com/envoyproxy/envoy/issues/14958但 Bazel 编译失败。

在 EnvoyFilter WASM (C++) 中读取环境变量的正确方法是什么?

0 投票
0 回答
31 浏览

istio - EnvoyFilter C++ 动态变量

我需要通过 DYNAMIC 变量控制 C++ EnvoyFilter (WASM) 的行为。通过这种方式,我避免了重新编译代码的需要。我想有两种方法:

  • 在 EnvoyFilter 的容器中将动态变量设置为 ENVIRONMENT VARIABLE
  • 将动态变量设置为EnvoyFilter资源中的变量(yaml文件中的“kind: EnvoyFilter”)

哪个是最好的方法?

有没有关于如何实现它的例子?

0 投票
0 回答
148 浏览

kubernetes - Isito - 启用/禁用每个路由的特使外部身份验证 http 过滤器

我正在尝试为我的应用程序的每条路由应用 ext authz 过滤器,但它失败了。下面是过滤器配置

步骤1。为应用程序应用了以下配置,所有请求都通过了过滤器,但我希望为特定的路由路径禁用过滤器,所以我也使用第 2 步

step-2 禁用基于路由或虚拟服务路径的 ext authz 过滤器。通过传递路由名称,我在应用第 2 步后看不到任何区别,但是当将合并操作与标头匹配时,使用标头进行的调用是通过过滤器进行的,但其他调用失败并出现 404 错误

0 投票
1 回答
54 浏览

istio - 使用 Istio mTLS 时,相同部署的 pod 是否共享相同的证书

在 Istio 中启用 mTLS 时,给定部署的每个 pod 都有一个证书。

我的问题是:相同部署的 pod 是否共享相同的证书,或者每个 pod 都不同?

0 投票
1 回答
87 浏览

kubernetes - istio 代理是否默认操作传入/传出请求的标头?

使用默认配置,istio-proxy(sidecar) 是否会操纵来自应用程序容器的传入/传出请求?