问题标签 [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 回答
198 浏览

kubernetes - 两个不同网格之间的 gRPC 连接被重置

我有两个不同的集群(EKS,v1.18),它们有自己的网格(v1.9.0)。

我在集群 A 上有一个 Thanos 部署,在集群 B 上有一个 Prometheus 部署(也运行了 thanos sidecar)。目标是让 thanos 通过内部负载均衡器(ELB 经典)查询远程集群中的这些 sidecar,以代理对每个集群的查询(使用 S3 或类似的块持久性超出此问题的范围)

Gateway、Virtual Service 和 Service 的资源都在集群 B 中,我可以在连接到网络后在本地运行 Thanos,并使用 gRPC 成功连接到集群 B 中的 sidecar。

集群 B 的 FQDN 的 ServiceEntry 已在集群 A 中创建,解析有效,路由正确,但集群 A 中的部署无法连接到集群 B。

Istio sidecars(来自集群 A 中的源工作负载 Thanos)显示连接正在被重置:

我没有在集群 B 的入口网关中看到传入请求(我有一个公共的和一个私有的,我检查了两者以确保)。

我努力了:

  • 使用 DR 强制将 http1.1 升级到 http2
  • 使用 DR 强制禁用 TLS
  • 排除私有 LB CIDR 范围以绕过代理

资源(A 组)

服务入口:

资源(B 组)

网关:

虚拟服务:

服务:

0 投票
0 回答
466 浏览

istio - Istio:当我启用 JWT RequestAuthentication 时,健康检查/sidecar 失败

过时的:

我保留这篇文章以供进一步参考,但您可以检查更好的诊断(尚未解决,但已解决)

Istio:RequestAuthentication jwksUri 不解析内部服务名称

更新:

在 Istio 日志中,我们看到了下一个错误。uaa 是一个服务于 OAUTH 身份验证/授权的 kubernetes pod。从普通服务中使用名称 uaa 访问它。我不知道为什么 istiod 找不到 uaa 主机名。我必须使用特定名称吗?(请记住,标准服务完美地找到了 uaa 主机)

原始问题

在将 istio sidecar 注入标准 kubernetes pod 后,我的服务运行良好。

我正在尝试添加 jwt 身份验证,为此,我正在遵循官方指南Authorization with JWT

我的问题是

  • 如果我在注入 istio 依赖项之后创建 JWT 资源(RequestAuthorization和),一切(似乎)都可以正常工作AuthorizationPolicy
  • 但是,如果我创建 JWT 资源(RequestAuthorizationAuthorizationPolicy)然后注入 Istio,则 pod 不会启动。检查日志后,似乎边车无法工作(也许检查健康?)

我的代码:

  1. 智威汤逊资源

2-我使用目的地规则如下

3-我的服务部署

4- pod中的错误日志(结合服务和边车)

5- Istio 注入

注意:我在 SO 中检查了很多帖子,似乎健康检查会在 sidecar 和其他配置方面产生很多问题。我检查了 Istio 服务的健康检查指南,但没有成功。具体来说,我试图禁用sidecar.istio.io/rewriteAppHTTPProbers: "false",但情况更糟(在这种情况下,既不启动边车也不启动服务。

0 投票
0 回答
44 浏览

istio - 流量拆分是否需要 Istio 入口网关?

我有两个服务正在运行,它们通过 grpc 相互通信。

服务 B 通过常规 k8s 入口在 处公开example.com,这就是服务 A 在看到请求时寻址 B 的方式。

我已经安装了 Istio 控制平面,并在 Service B 上启用了 sidecar 注入。

现在,我想在不同版本的服务 B 之间拆分流量。我部署了一个虚拟服务和目标规则,两者都使用<service_name>.<namespace>格式而不是入口端点 ( example.com) 引用服务 B,因为后者导致“服务未找到” Kiali 中的错误。不过,使用<service_name>.<namespace>格式似乎可行。

问题是,我在虚拟服务中包含的加权流量拆分规则似乎没有生效。我想知道我是否需要一个入口网关而不是常规的 k8s 入口才能使其工作。如果没有,您还有什么建议让我解决问题?

提前致谢。

0 投票
1 回答
525 浏览

kubernetes - 对某些 url 的 Https 请求不起作用(ssl:wrong_version_number 错误)

我的平台版本:

  • AWS EKS 1.18
  • istio 1.7.3

您好,我在通过 https 请求时遇到问题。当我尝试在 ssl 上连接到“https://kinesis.ap-northeast-2.amazonaws.com”时,我收到 ssl3_get_record:wrong version number 错误。但是,对“https://www.amazon.com”的 SSL 请求正在运行。对“kinesis.ap-northeast-2.amazonaws.com:443”的 Http 请求也有效。仅供参考,对路由器代理上的 kinesis 的 https 请求也可以正常工作。我认为 Sidecar 代理会出现这个问题。你能告诉我如何解决吗?

我的调试日志:


端口 443 上的 http 请求测试:

我的 istio 代理配置:

我的边车代理容器规格:

我的网关容器规格:

0 投票
1 回答
1609 浏览

kubernetes - 禁用 Istio 默认重试策略(至少在 POST 请求上)

我有一个使用 Istio 1.7.4 在 kubernets 上运行的应用程序(基于微服务)

微服务有自己的集成失败事务补偿机制。

但是当某些集成有 503 状态码响应时,Istio 正在重试请求。我需要禁用它(至少在 POST 上,这是非同质的)。

并让应用程序处理它。

但是我尝试了很多方法都没有成功。有人能帮我吗?

0 投票
2 回答
533 浏览

istio - Istio1.9 中的速率限制功能实现

我已经完成了 Istio 1.9 的初始设置并部署了 bookInfo 应用程序以复制 Istio 站点中提供的示例以进行速率限制。正如我们在应用程序中有实现速率限制的用例一样。我将 Istio 项目作为解决方案,但在运行 Istio 官方链接本身提供的 yaml 时面临挑战。

在此处输入图像描述 有人可以帮帮我吗? https://istio.io/latest/docs/tasks/policy-enforcement/rate-limit/

我已经从以下链接部署了 bookinfo 示例

特使 YAML

应用 envoy yaml 时出错:

0 投票
1 回答
784 浏览

kubernetes - k8s,Istio:删除传输编码头


在应用程序的响应中,我们看到双倍的传输编码标头。
假设因为我们在 UI 中得到 503,但同时应用程序在 pod 的日志中返回 201。
除了日志http code: 201中有transfer-encoding=chunkedTransfer-Encoding=chunked标头,这可能是 503 的原因。
我们尝试transfer-encoding通过 Istio 虚拟服务或特使过滤器删除,但没有运气..

以下是我们尝试过的示例:

VS定义:

EnvoyFilter 定义:

在较旧的特使版本中,我看到envoy.reloadable_features.reject_unsupported_transfer_encodings=false是一种解决方法。不幸的是,它已被弃用。

请告知 VS/filter 有什么问题,或者是否有任何替代reject_unsupported_transfer_encodings选项?

Istio v1.8.2
特使 v1.16.1

0 投票
0 回答
674 浏览

istio - Istio1.9 与虚拟机 (aws ec2) 的集成将主机文件设为空

我已经在 VM 中安装了 mysql 并希望安装了 istio 1.9 的 EKS 与他们交谈,我正在关注此https://istio.io/latest/docs/setup/install/virtual-machine/但是当我执行此步骤时生成的主机文件是空文件。我尝试使用这个空的主机文件,但是当使用此命令启动 vm 时,我得到了

当跟踪这个文件时

0 投票
1 回答
401 浏览

kubernetes - 如何从 fluentbit 中排除 istios side-car 容器日志

我需要从 fluentbit 中排除 istio 的 sidecar 生成的日志。在官方文档中,我设法找到的关于从 fluentbit 中排除日志的唯一内容是元数据部分中的注释,我认为这里不适合:

https://docs.fluentbit.io/manual/pipeline/filters/kubernetes#kubernetes-annotations

有人已经这样做了吗?

0 投票
1 回答
90 浏览

kubernetes - ext_authz 集群“x”不存在

我正在尝试使用 istio 进行 jwt 验证。我有一个带有标签 app=auth-verify 的应用程序在端口 3000 上运行,它有 1 个端点/auth将检查授权标头。主应用程序有标签 app=backend 期望 auth-verify 应用程序验证 jwt 并添加 header x-authenticated。下面是我的 EnvoyFilter 的 CRD。

当我检查后端 pod 上的日志时,kubectl logs --tail 1 -f backend-695cf5b89d-nkgps istio-proxy我可以看到这个错误。

我怎样才能解决这个问题?