问题标签 [istio-gateway]

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 投票
2 回答
181 浏览

validation - 通过代理验证 Istio 令牌

Istio 支持AuthZAuthN服务,但是有没有办法通过代理实现令牌验证?

示例:用户/客户端向 Service-A 发送请求,请求命中 istio-ingressGateway,如果令牌有效,则网关通过另一个服务(验证服务)验证令牌用户/客户端如果不发送错误,则可以获取用户数据等效响应。

视觉示例

0 投票
1 回答
386 浏览

kubernetes - OpenSSL SSL_read: Connection was aborted, errno 10053 (implementing mTLS using istio)

我正在尝试在两个服务之间实现 mTLS。我正在使用 hashcorp vault 来管理证书(CA、客户端和服务器)。使用 istio 网关部署服务器后,使用从各自证书生成的秘密。我正在尝试使用 curl 访问该服务器。但我收到错误:

当我对使用 OpenSSL 手动生成的证书使用相同的步骤时,我没有遇到任何此类问题。当我使用 curl 命令传递“--http2”时:

0 投票
0 回答
34 浏览

kubernetes - 虚拟服务端口配置适用于一个命名空间,但不适用于另一个

我在 k8s 中的两个不同命名空间中部署了相同的应用程序:nsgreennsblue. 期望的结果是能够访问端口 80 上两个命名空间的应用程序:

我的网关是在istio-system命名空间中创建的,如下所示:

nsblue 中 my-app 的虚拟服务:

在 nsgreen 中为我的应用程序提供虚拟服务

访问http://myapp.int.mydomain.com (nsgreen) 时,端口 80 似乎工作正常,但在 myapp-blue (nsblue) 的情况下,我只能通过端口 8080 ( http://myapp -blue.int.mydomain.com:8080)而不是 80。

注意:如果这很重要,两个命名空间都有标签istio-injection=enabled

任何人都可以阐明我的 yaml 文件有什么问题以实现上述预期结果吗?

0 投票
0 回答
82 浏览

devops - GKE istio 部署设置在访问时返回 503 错误

我正在尝试在我的 GKE 上设置一个与 istio 上的 HTTPS 负载均衡器一起使用的部署。当 istio-ingresss 定义为 NodePort 并在 gke 上创建了一个 Ingress 时,我安装了 istio:

在部署了 istio 的基本 httpbin 之后,我尝试使用以下网关和虚拟服务来访问它

当我通过浏览器访问它时,我得到一个 502 错误。在 istio-ingressgateway 日志中,我得到一个 404 错误路由未找到。但是当我将主机切换到

通配符让我可以访问 httpbin 应用程序。

我还尝试将虚拟服务更改为

出现同样的问题。

0 投票
0 回答
20 浏览

istio - Istio 流量状态以及 Istio 中的流量如何流动

关于 Azure Cloud 中 Istio 中的流量如何流动,我有一个简单的问题。在我的例子中,入口流量从客户端(原始源公共 IP)传输到负载均衡器(公共 IP),它到达 Pod,但不会返回到负载均衡器。相反,出口流量似乎希望通过 Azure 虚拟网络中定义的“正常”0.0.0.0/0 路由直接返回到客户端 IP。

我猜 Proxy Envoy 是没有状态的,不允许流量通过同一条路线返回。我应该添加一个 egressrule 以指向负载均衡器 IP 吗?

0 投票
1 回答
127 浏览

kubernetes - Istio 虚拟服务创建访问被拒绝

我正在尝试创建一个 Istio Virtualservice。但是,尽管我绑定了 cluster-admin 角色,但我收到了以下错误。

我还尝试创建一个新Clusterrole的,如下所示并为我的用户创建一个绑定,这也不会产生任何结果。

0 投票
0 回答
24 浏览

istio-gateway - 在集群外公开 kiali 和 grafana 服务

我在 Istio 服务网格上设置了 Kiali 和 Prometheus 插件。目前,我将这些服务公开为 LoadBalancer,以便我可以从本地计算机访问集群外部的这些服务。

我可以创建一个 Ingress 控制器并使用 Ingress 控制器路由到 Prometheus 和 Kiali,以便我可以使用单个 LoadBalancer 来访问两个仪表板

0 投票
1 回答
189 浏览

amazon-eks - 如何在 EKS 集群中获取每个命名空间的出口静态 IP

我当前的设置涉及一个 EKS 集群,该集群具有跨私有子网中许多不同 EKS 节点的多个命名空间(多租户)。我希望来自 pod 的出口流量在每个命名空间都有一个专用的 EIP。AFAIK 没有针对此问题的现成解决方案。我在互联网上搜索了很长时间,但徒劳无功。以下是一些我已经厌倦但最终遇到障碍的解决方案

  1. Istio Egress Gateway 允许您通过专用的 egress gateway pod 引导来自 pod 的所有出站流量。但是出口网关 pod 将假定它正在运行的节点的 ip,这不适用于我的用例。此外,我还没有找到关于如何跨多个节点设置多个出口网关 pod 的体面文档。

  2. Calico Egress Gateway 与 Istio Egress Gateway 解决方案非常相似,并且适用相同的约束

  3. 自定义解决方案 我已经开始实施自定义解决方案,我在公共子网中设置了多个网关节点,每个网关节点都有一个专用的 EIP。我现在可以修改私有 EKS 节点中的 ip 路由/网关,以通过基于 pod 源 ip 的特定网关节点路由流量。这个解决方案感觉很笨拙,而且这种解决方案的运营开销非常高

  4. 我看过像https://github.com/nirmata/kube-static-egress-ip这样的解决方案,但没有任何运气

这个问题有更好的方法/解决方案吗?

ps:我的生产集群非常大,我无法为每个命名空间站起来一个集群。

0 投票
0 回答
108 浏览

kubernetes - Istio 无法正确路由流量

我需要部署两个单独的应用程序,并且我注意到路由仅适用于其中一个。网关/虚拟服务部署在不同的命名空间中。以下是配置:

还有我的另一个应用:

特使日志:

无论哪个网关/VS 对首先部署,它都是正常工作的。这里可能是什么问题?如果两个网关都使用相同的证书(通配符),我可以看到唯一常见的事情,但我不确定这是否是问题所在。会是什么呢?我在 istio 的 github 页面上阅读了类似的问题,但是它被标记为已通过更新版本解决。我的 istio 版本:

0 投票
1 回答
46 浏览

kubernetes - 有没有办法在 istio 虚拟服务中为单个上下文路径指定两个服务?

我有两个不同的微服务在相同的命名空间中运行,它们都具有相同的上下文路径(例如 - my/context/path),进一步的控制器在它们中是不同的,例如服务一支持 - my/context/path/service1并且 service2 现在支持 my/context/path/service2 当我这样定义时,它总是重定向到 service1,有没有可能的方法来实现这一点?下面是我的VS:

我也在VS下面尝试过,但这似乎也重定向到第一个服务。

我不确定这是否可以实现,或者我是否需要将两个服务的上下文部分分开?