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

php - 特使 - 权限被拒绝

我正在尝试使用 Envoy 部署我的项目。我将我的 vagrant 链接到服务器上的 deploybot 用户,效果很好,但是当我尝试部署我的项目时,我得到了这些错误

我一直在尝试切换一些权限,但这似乎不起作用。关于如何解决这个问题的任何想法?

0 投票
1 回答
2839 浏览

envoyproxy - Envoy 是否支持 TCP 代理?

您好,请问 Envoy ( https://lyft.github.io/envoy/ ) 是否支持 TCP 代理?我看到外部客户端可以使用 HTTP、TLS 连接到“前端”特使边缘代理。您能否让我知道外部客户端是否有可能使用 TCP 连接进行连接?某种 HAProxy 替代品。例如:

请求 tcp ip:端口 0.0.0.0:7000

转发 tcp ip:port 192.168.1.11:8000

谢谢

0 投票
1 回答
984 浏览

docker - 尝试运行 Envoy 前端代理示例时的问题

我对所有这些技术和环境都很陌生。我尝试运行位于github 存储库中的 lyft/envoy 示例。

我按照他们的指南一步一步地操作,但它不起作用。我使用 Docker 作为容器平台(如指南中所述),安装了 python 版本 2.7.13。

当我按照指南中所述执行“docker-compose up --build -d”时,我想看到当我执行“docker-compose ps”时,envoy-fronproxy 和其他两个服务已启动并正在运行,但在我的情况是,envoy-frontproxy 已启动,而其他两个服务因“退出 127”而失败。在此处输入图像描述 此外,当我执行'docker-compose up --build -d'时,我在输出日志中间的某个地方出现以下错误(可能与此相关): 在此处输入图像描述 我只是说我没有更改任何配置或任何文件提供的示例文件夹。

2/6/17 更新: 我添加了 docker logs 屏幕截图:在此处输入图像描述在此处输入图像描述在此处输入图像描述

非常感谢!

0 投票
1 回答
482 浏览

envoyproxy - Istio 有可能支持 Envoy 的哈希环负载均衡算法吗?

精简版:

我可以在 Istio 中使用 Envoy 的哈希环负载均衡算法吗?这是在路线图上吗?

更多信息:

此处的 Istio 负载平衡文档列出了当前可用的负载平衡算法。

我希望能够使用 Envoy 的哈希环负载平衡算法,但目前没有列出。

为什么?我想每次都根据分片键将 grpc rpc 发送到相同的 kubernetes pod,以便在该节点/pod 处缓存未来请求所需的数据。我以前使用过 go library groupcache 来执行此操作,并且效果很好,但我想探索 Istio 是否可行,因为我认为由于各种原因这将是一种更好的方法。

我希望参与或了解该项目的人可以评论哈希环负载均衡器是否在 Istio 路线图上或可能被添加,如果是这样,大致在什么时间线。此外,如果目前有办法做到这一点,我很乐意指出正确的方向。

非常感谢!

0 投票
1 回答
713 浏览

apache-kafka - 启用 K8s istio 的 pod 无法访问常规服务

我正在尝试在 AWS 上的 K8s 1.6 集群中使用 Istio。

我有一个以老式方式运行的 Kafka pod/服务,有一个没有 IP 的“kafka-zk-broker-kafka.dev”服务,所以 kafka-zk-broker-kafka.dev 服务(我在 dev 命名空间中) 解析为我的 3 个 Kafka pod 的内部名称。这很好用。

我使用 Istio sidecart 部署了一个 kafka 生产者应用程序,因为它还公开了一个 gRPC 端口以供内部使用。部署顺利,但我的应用程序无法连接到“kafka-broker”服务。DNS解析没问题,但我无法使用kafka客户端或telnet访问服务端口(TCP:9092)。

我的理解是,当部署 Istio (envoy) sidecart 时,POD 外的所有内容都通过 Envoy 代理......所以 envoy 代理不知道如何访问常规服务?

我错过了什么吗?有没有办法将 Istio/Envoy 与常规 k8s 服务混合使用?

0 投票
1 回答
1936 浏览

http - 从 Envoy 后面的容器与 Redis 服务器通信

我已经在 k8s 上部署了 envoy 容器作为 Istio 部署的一部分。每个 Envoy 代理容器都作为“sidecar”安装在 k8s 的 pod 中的应用容器旁边。

我能够从应用程序内部发起 HTTP 流量,但是当尝试联系 Redis 服务器(具有另一个特使代理的另一个容器)时,我无法连接并接收HTTP/1.1 400 Bad Request来自特使的消息。

在检查特使的日志时,只要此连接通过特使,我就会看到以下消息:HTTP/1.1" 0 - 0 0 0 "_"."_"."_"."_""

据我了解,Redis 命令是使用纯 TCP 传输而不使用 HTTP 发送的。Envoy 是否可能只希望看到 HTTP 流量并拒绝仅 TCP 流量?假设我的理解是正确的,有没有办法使用 Istio 改变这种行为并接受和处理通用 TCP 流量?

以下是我相关的部署yaml文件:

谢谢

0 投票
1 回答
1581 浏览

kubernetes - 在 Kubernetes 中路由内部流量?

我们目前有一个设置,其中我们的 mesos/marathon 集群中的应用程序希望访问可能驻留在或可能不驻留在我们的 mesos/marathon 集群中的服务。外部流量进入集群是通过位于 Traefik 实例集群前面的 Amazon ELB 完成的,然后它通过传入的 HTTP Host 标头选择适当的容器实例集进行负载平衡,与本质上是多对多对-针对特定容器实例的已配置主机标头的一个关联。内部到内部的流量实际上也由相同的路由处理,因为与给定服务关联的 DNS 记录映射到我们的 mesos/marathon 集群内部和外部的同一个 ELB。我们还提供了让多个 DNS 记录指向同一个容器集的能力。

此设置有效,但对我们的 ELB 和 Traefik 集群造成了看似不必要的网络流量和负载,就好像容器或其他组件中的应用程序能够自行确定他们希望调用的服务在他们所在的特定 mesos/marathon 集群,并适当地调用集群内部的某些东西,或者直接调用特定的容器本身。

根据我对 Kubernetes 的理解,Kubernetes 提供了服务的概念,它本质上可以作为一组 pod 的前端,基于服务应该匹配哪些 pod 的配置。但是,我并不完全确定我们可以让 Kubernetes 集群中的应用程序透明地知道将网络流量引导到服务 IP 的机制。我认为通过让 Envoy 代理流量用于例如服务名称可以帮助其中的一些<application-name>.<cluster-name>.company.com,但是如果我们有一个映射到之前的 DNS 条目的 CNAME(例如,<application-name>.company.com),我不完全确定我们如何可以避免退出集群。

有没有解决这两种情况的好方法?我们试图避免让我们的应用程序的逻辑必须了解它位于特定的集群中,并且希望应用程序之外的组件能够适当地执行路由。

如果我从根本上误解了某个特定组件,我将很高兴得到纠正!

0 投票
1 回答
106 浏览

ibm-cloud - Istio 任务 - 测试 Istio 双向 TLS 身份验证 - 无法在 Bluemix 上执行,例如 BookInfo

环境:Bluemix + K8 + Istio + Bookinfo

参考https://istio.io/docs/tasks/security/mutual-tls.html

执行时 - 测试身份验证设置,第 4 步,它失败了,因为容器安装了不支持 curl 命令的最小 linux。

0 投票
1 回答
532 浏览

routes - Envoy RDS REST API 中的 service_cluster 和 service_node 有什么用?

我正在尝试开发与 lyft/envoy 一起使用的 RDS(路线发现服务)。根据文档 RDS API URL 应该遵循GET /v1/routes/(string: route_config_name)/(string: service_cluster)/(string: service_node)。我想知道的是service_cluster和service_node的用法。

目前我还没有将它们用于任何特定任务,只是匹配了 GET 路径并定义了单个路由。哪个工作得很好。我检查了特使为这些发送的价值并得到了service_cluster: lax& service_node: node1,没有太多帮助。Docs 说这些值也可以通过 CLI 选项设置。

它应该用来做什么?我错过了什么吗?

0 投票
2 回答
1813 浏览

sql-server - 无法从 Istio Envoy 代理连接到 SQL Server

我使用IstioEnvoy 作为 sidecar 代理。我已经部署了bookinfo示例并且它工作正常,但是当我部署我自己的应用程序时,它在 https 或其他外部服务上调用 SQL Server,它给出了异常。

与服务器成功建立连接,但在登录前握手期间发生错误。(提供者:TCP 提供者,错误:35 - 捕获到内部异常)