kubernetes - 在同一个 K8S pod 中有两个 envoy 代理是一个好习惯吗?
问题描述
我的应用程序部署在 GKE 中,我正在尝试部署 Istio (1.2.2),但遇到了一个问题:其中一个部署是一个由两个容器组成的 pod——gRPC 服务和一个 Envoy 代理。我们使用 envoy 作为解决方法来为 Google 负载均衡器公开 HTTP2 健康检查,因为 gRPC 服务向世界公开并且健康检查是强制性的。
当 Istio 将它的 envoy sidecar 注入到这个 pod 时,一切都变得混乱:
- 请求到达现有的 envoy 代理而不是 istio-sidecar。
- Google healthchekcs 到后端服务失败。
问题出现了——我应该尝试让两个代理一起工作,还是在这个 pod 中只有 Istio sidecar 更好?
解决方案
最好让两个代理都工作,因为 Istio 版本无法区分健康检查和实际流量。
推荐阅读
- python - MultiLoc2(亚细胞定位)错误
- docker - Shell 自动与 docker 容器分离
- django - 如何在 django 管理员更新操作中使用带有自动完成字段的表单
- flutter - sliverappbar的颤动底部让1像素的背景
- azure - azure-data-factory-utilities 验证失败
- java - 将 hashMap 键与 ArrayList 进行比较
- python - 如何在数据框中创建开始日期和结束日期
- javascript - 如何在 Javascript 中合并两个替换?
- spark3 - 在 spark3.0.1 中,使用 DataFrame.foreachPartition,值 foreach 不是 Object 的成员
- macos - Qt如何控制mac上的摄像头?