问题标签 [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 投票
1 回答
536 浏览

amazon-web-services - Keycloak 服务器管理控制台使用 Istio 网关和 AWS HTTPS 应用程序负载均衡器阻止 AWS K3S Kubernetes 集群上的混合内容响应

我能够使用Istio GatewayAWS HTTPS Application Load BalancerAWS K3S Kubernetes 集群上成功启动keycloak 服务器

我可以成功看到Keycloak 主页https ://keycloak.skycomposer.net/auth/

但是当我单击管理控制台链接时,会显示空白页面https ://keycloak.skycomposer.net/auth/admin/master/console/

Browser Inspect Tool显示: http://keycloak.skycomposer.net/auth/js/keycloak.js?version= rk826 链接返回如下状态:

我在互联网上做了一些研究,原因似乎与从httpshttp的重定向有关,这不是istio 网关aws 负载均衡器正确处理的

但不幸的是,我找不到解决方案,如何为我的特定环境解决它。

这是我的配置文件:

keycloak-config.yaml:

keycloak-deployment.yaml:

keycloak-service.yaml:

istio-gateway.yaml:

istio-virtualservice.yaml:

我使用istioctl成功安装了istio 1.9.1

另外,我用istio injection标记了默认命名空间,所以我在默认命名空间中的所有 pod 都有istio sidecar 容器

这也是AWS 负载均衡器的terraform配置:

0 投票
0 回答
337 浏览

kubernetes - 我想从 Istio 入口修改 http 响应代码和正文

我目前已在 Istio 的身份验证清单下方编写。

我从浏览器得到以下响应

RBAC: access denied

但不是这个,我想得到一个 Json 响应

带有状态码403 现在我尝试了下面的 Lua 过滤器

请用正确的片段指导我

0 投票
1 回答
454 浏览

istio - 如何将 AKS 中的 Istio 从版本 1.7 升级到 1.8

我对 ISTIO 很陌生,想澄清我的以下疑问。

我们计划在生产中的 AKS 集群 1.18.14 中将 Istio 版本从 1.7 升级到 1.8。

但是我不确定在生产中要遵循的正确升级方法,因为 Istio 提供了多种方法。

我不知道当前 Istio 设置是如何在我的环境中完成的,以及我们使用了哪些配置文件设置,因为它很久以前就完成了。可以理解以下是安装 istio 所遵循的步骤..


Istio 的安装方式如下:

  1. 创建的清单:

    istioctl manifest generate --set profile=default -f /manifests/overlay/overlay.yaml > $HOME/generated-manifest.yaml

  2. 安装的 istio:

    istioctl install --set profile=default -f /manifests/overlay/overlay.yaml

  3. 针对已部署的清单验证了 istio:

    istioctl verify-install -f $HOME/generated-manifest.yaml

是否有任何方法可以导出所有现有设置(当前正在运行的设置)并进行升级?

因此,我正在寻找一种生产就绪的方法来升级 Istio,并放置所有现有设置。

0 投票
0 回答
59 浏览

istio - 我可以在 Istio 中有一个使用 HTTPS 但忽略证书验证的 DestinationRule 吗?

我的场景类似于:客户端发送 HTTPS -> 入口网关的 TLS 终止 -> HTTP -> VirtualService 的 HTTP 路由 -> DestinationRule 的 TLS 发起发送 HTTPS -> 目标服务

但是...使用 HTTPS 的目标服务使用一个组成的证书,所以我不希望 DestinationRule 由于证书验证而失败,我希望使用 curl --insecure。

我可以这样做吗?或者任何解决方法?

0 投票
1 回答
795 浏览

kubernetes - Istio - 将请求重定向到外部 url

我正在尝试使用 istio 在 Kubernetes 集群中设置代理服务。我创建了两个不同的域。如果域是 foo.com,则应将其重定向到外部 URL,否则应将其路由到应用服务器。我已经使用虚拟服务和服务条目对此进行了配置。但是当我点击 foo.com 时,它会跳过 Authorization 标头。我需要一个 Authorization 标头来处理请求。有没有办法解决这个问题?提前致谢。

虚拟服务.yaml

0 投票
0 回答
106 浏览

istio - Istio URI 与 Rewrite 匹配

具有多个 URI 匹配并创建重写 URL 的虚拟服务时出现 404 错误。下面是例子。我们有一个微服务A,我们希望无论何时调用https://hostName/serviceA/它都应该被https://hostName/覆盖,并且无论何时调用 https://hostName/serviceA/scheme/ default/它应该被https://hostName/scheme/default覆盖

下面是虚拟服务的片段。

但是每当我们点击https://hostName/serviceA/scheme/default/时,它都会给出 404 错误,我们可以从开发人员的工具中看到请求转到/serviceA//scheme/default/

但是所有发送到https://hostName/serviceA/的请求都会得到 200 响应。

需要您的帮助来解决此问题

0 投票
0 回答
90 浏览

kubernetes - istio 的默认超时值

我有一项服务,我在其中添加了 5 分钟的延迟。因此,对该服务的请求将需要 5 分钟才能给出响应。现在我已经使用 istio v1.5 在 kubernetes 中部署了这个服务。当我通过入口网关调用此服务时,我会在 3 分钟内超时。

我尝试将虚拟服务中的超时设置为大于 3 分钟,但这不起作用。只有在虚拟服务中设置的小于 3 分钟的超时有效。

除了VirtualService,还有其他可以设置超时的配置吗?

3分钟(180s)是我们可以在VirtualService中设置的最大值吗?

0 投票
1 回答
142 浏览

nginx - 如何像我们在 nginx 中一样在 istio 中代理另一个网站(反向代理)的传递 https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/

我必须在 istio 中做类似的事情

0 投票
1 回答
190 浏览

kubernetes - 如何使用 Istio 功能实现基于客户端 IP 的路由?

我正在尝试使用 Istio 功能实现基于客户端 IP 的路由。

我有两个版本的应用程序V1(Stable)V2(Canary)。如果客户端 IP 来自特定的 CIDR 块(主要是我的组织的 CIDR),我想将流量路由到应用程序的金丝雀版本(V2),并且所有其他流量应该路由到稳定版本(V1),即实时流量。

有没有办法使用 Istio 来实现这个功能?

0 投票
0 回答
43 浏览

kubernetes - 不同的 Istio 配置文件有什么区别?

我正在经历 Istio v1.8.6 的升级过程,其中提到了多个配置文件。

  1. installed-state.yml 文件 2) 清单文件。3)覆盖文件等。

我想了解每个文件的用例是什么,每个文件有什么区别以及可以在哪里应用。

当我们考虑从 Istio 1.7.3 升级到 1.8.6 时,这些将有助于将 istio 1.7..3 的自定义环境升级到 1.8.6,并使用 v1.7.3 中的所有现有设置。

  1. 我尝试使用从当前 istio 1.7.3 导出的 installed-state.yml,当我尝试将此作为标志传递给 v1.8.6 cananry 安装时,它失败并出现与“遥测”相关的多个错误。“策略” ETC..

  2. 当我们尝试升级 1.8.6 istio canary 时,是否可以使用与 V1.7.3 版本 tinstallation 相同的覆盖文件?

例如:./istioctl1.8 install --set revision=1-8 --set profile=default -f /tmp/overlay1-7-3.yaml 这将使所有自定义设置可用于默认配置文件 v1.7.3。 . 或者这会错过新控制平面中的任何配置或组件吗?

  1. 由于不建议安装状态 yaml 进行升级..覆盖文件会解决我的问题吗?

  2. 在 Overlay1-7-3.yml 中还为“telemetry”和“prometheus”启用了属性,这对 v1.8.6 不支持。因此,在这种情况下,从 overlay.yml 中删除 tjose 是可取的,否则它将从新的控制平面中删除这些组件?