问题标签 [envoyproxy]

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 投票
3 回答
1177 浏览

istio - pod 中的服务(启用了特使代理)无法连接到 redis pod

步骤 1. 我在没有 envoy sidecar 的情况下部署了 redis。 https://github.com/kubernetes/charts/tree/master/stable/redis

在另一个没有特使的 pod 中运行 regis-cli 时,redis 连接工作正常。=> 证明了 redis 本身的功能。

步骤 2. 在另一个具有 envoy sidecar 注入的 pod 中部署服务。

尝试从服务连接到 redis 时,无法建立连接。

规格:目的地:服务:“*”端口:-端口:6379 协议:redis

有人有建议/想法吗?

0 投票
1 回答
1000 浏览

microservices - 如何部署 Envoy EDS/SDS

这是一个微服务部署问题。您将如何部署Envoy SDS(服务发现服务),以便其他 Envoy 代理可以找到 SDS 服务器主机,以便发现其他服务来构建服务网格。我应该将它放在具有 DNS 名称(单点故障)的负载均衡器后面,还是只在每台机器上本地运行 SDS,以便其他微服务可以访问它?或者有没有更好的部署方式,可以将 SDS 集群动态添加到 envoy 配置中而不会出现单点故障?

0 投票
1 回答
553 浏览

docker - 与使用 istio envoy 代理运行的容器的最大 websocket 连接数

我似乎在使用 istio 代理的容器中达到最大 websocket 连接数的限制

它似乎在 1024 处用完(这似乎是默认值)

我还尝试将我的 --default-ulimit for nofiles 增加到 102400:102400 但我怀疑它受 istio 限制

我也尝试添加 DestinationPolicy 但这也没有帮助

0 投票
2 回答
1220 浏览

grpc - 如何使用 envoy、nomad 和 consul 配置 gRPC 请求的动态路由

我们使用nomad将我们的应用程序(提供gRPC端点)部署为任务。然后使用nomad 的 service stanza将任务注册到Consul

我们的应用程序的路由是通过envoy proxy实现的。我们在 IP 上运行负载均衡的中央特使实例10.1.2.2

路由到哪个端点/任务的决定当前基于host标头,并且每个任务都注册为<$JOB>.our.cloud. 这导致了两个问题。

  1. 访问服务时,必须为负载均衡器 IP 注册 DNS 名称,这会导致/etc/hosts类似的条目

    使用 可以部分缓解这个问题dnsmasq,但是当我们添加新服务时仍然有点烦人。

  2. 不可能同时运行多个提供相同 gRPC 服务的服务。例如,如果我们决定测试一个服务的新实现,我们需要以job相同的名称以相同的名称运行它,并且需要实现在 gRPC 服务文件中定义的所有服务。

我们一直在讨论的一个可能的解决方案是使用tagsservice节的 来添加定义提供的 gRPC 服务的标签,例如:

但是Consul不鼓励这样做:

现在我们正在考虑使用像这样的标签来做这件事grpc-my-company-firstpackage__ServiceA......这看起来真的很恶心,虽然:-(

所以我的问题是:

  • 有没有人做过这样的事情?
  • 如果是这样,关于如何路由到由 Consul 自动发现的 gRPC 服务有什么建议?
  • 有人对此有其他想法或见解吗?
  • 这是如何在例如istio中完成的?
0 投票
2 回答
1094 浏览

docker - GRPC 服务网格的 Envoy 代理

我正在尝试为我的 GRPC 服务的负载平衡和发现功能做一个非常基本的 Envoy 设置。假设一个非常基本的设置,我在 Docker 容器中运行了两个 GRPC 服务。根据 Envoy 文档,我应该使用“envoy.tcp_proxy”过滤器类型。在这里,我做了一个非常简单的 yml 配置,但无法运行:

显然我做错了什么,但是在站点的任何地方都找不到完整的 GRPC 到 GRPC 服务网格 Envoy 配置示例。端口 30270 是我在服务器端公开和侦听的端口。

鉴于上述配置说:

初始化配置“/etc/envoy.yaml”时出错:envoy.tcp_proxy 工厂返回 nullptr 而不是空配置消息

我还需要使用 HTTP 管理器来路由吗?有人可以分享一个例子吗?

0 投票
1 回答
2515 浏览

docker - 使用 gRPC 路由的 Envoy

我似乎无法让 Envoy 与部署的多个 gRPC 服务一起工作。gRPC 调用总是转到同一个实例。Envoy 负载均衡器如何发现使用 docker-compose scale 启动了相同服务的其他实例?

我使用的 Service1 配置:

现在调用者服务具有 gRPC 客户端初始化:

问题是,每当我使用 docker-compose scale 命令启动多个 service1 实例时,新启动的实例永远不会收到任何呼叫。我的配置问题出在哪里?

0 投票
1 回答
866 浏览

istio - Istio mTLS 流

我对 istio 的 mTLS 流程有点困惑。在 bookinginfo 示例中,我看到服务正在通过 http 而不是 https 进行调用。如果服务之间存在 mTLS,那么服务会进行 http 调用吗?

是不是来自服务的 HTTP 会转到将其转换为 https 的特使代理?但是,然后在服务器的 envoy-proxy 日志中,我在日志中看到了 http。

任何机构都可以解释这是如何工作的吗?

问候

0 投票
0 回答
84 浏览

bazel - 在 linux + ppc64le 上编译 GoStdlib 失败

我意识到这是不受支持的,但我试图了解是否有解决方法。

bazel build //src/envoy

我正在或多或少地使用 bazel 0.11.1(在我的主机上编译)编译 istio/proxy。

从阅读其他问题来看,我似乎需要使用 gcc 而不是 g++ 编译 GoStdlib,但事实并非如此:

0 投票
2 回答
1620 浏览

kubernetes - 服务网格和异步服务

我计划在我的基础设施中引入 K8s/Istio。现在我有很多使用 RabbitMQ 相互通信的服务。

服务网格概念似乎假设所有服务都应该是同步的。

我想至少让我的一些服务保持异步,并利用 istio 提供的 Mutual TLS 身份验证以及聚合监控。

是否有任何工具/方法可以帮助我简化同步和异步服务的管理?

谢谢,

0 投票
1 回答
630 浏览

kubernetes - 为什么 envoy sidecar 可以控制我的流量?

我继续跑istioKubernetes我想知道特使边车是如何工作的。例如,sidecar 注入 pod 后,原始容器在没有EgressRule. 它是如何工作的?