首页 > 解决方案 > 在同一个 K8S pod 中有两个 envoy 代理是一个好习惯吗?

问题描述

我的应用程序部署在 GKE 中,我正在尝试部署 Istio (1.2.2),但遇到了一个问题:其中一个部署是一个由两个容器组成的 pod——gRPC 服务和一个 Envoy 代理。我们使用 envoy 作为解决方法来为 Google 负载均衡器公开 HTTP2 健康检查,因为 gRPC 服务向世界公开并且健康检查是强制性的。

当 Istio 将它的 envoy sidecar 注入到这个 pod 时,一切都变得混乱:

  1. 请求到达现有的 envoy 代理而不是 istio-sidecar。
  2. Google healthchekcs 到后端服务失败。

问题出现了——我应该尝试让两个代理一起工作,还是在这个 pod 中只有 Istio sidecar 更好?

标签: kubernetesgoogle-kubernetes-engineistioenvoyproxy

解决方案


最好让两个代理都工作,因为 Istio 版本无法区分健康检查和实际流量。


推荐阅读