nginx - 我应该在每个 Kubernetes pod 中运行 nginx 吗?
问题描述
我有一个有 20 个工作节点的 Kubernetes 集群。我的主要应用程序是一个 Flask API,每分钟提供数千个 android/ios 请求。我的 Kubernetes 部署的配置方式是每个 pod 有 2 个容器——flask/python 服务器和 nginx。烧瓶应用程序在 gunicorn 上运行,带有 meinheld 工人(每个 pod 20 名工人)。
我的问题是:我是否需要在烧瓶应用程序旁边的每个 pod 中运行 nginx,还是可以只使用主 nginx 入口控制器作为代理缓冲层?
注意:我使用 ELB 将外部流量路由到我的内部 k8s 集群。
解决方案
在每个 pod 上都有一个代理并不奇怪,事实上,istio 会为每个 pod 注入一个 envoy 容器作为代理来控制进出流量并获得更准确的指标。
但是,如果您现在不想管理服务网格,您可以避免使用 nginx 并直接使用服务上的端口映射作为入口定义。
推荐阅读
- java - 如何在 if else 循环中使按钮可见/不可见
- c# - 从我的 ASP.NET Core 5 Web 应用程序访问嵌入式 PowerBi 报告时,为什么会收到 MsalUiRequiredException 错误?
- python-3.x - python-healthz的Python3 Quart register_blueprint抛出异常
- c# - 如何转换 IEnumerable
> 到 IReadOnlyDictionary >>? - flutter - 与 React 中的 Axios 'withCredentials' 相比,Flutter Dio/http 中用于处理基于 Cookie 的身份验证请求的等效代码是什么?
- elixir - Ecto.Adapters.SQL.stream 会触发多个查询吗?
- android - 我想在改造中提出 application/x-www-form-urlencoded 请求?
- typescript - TypeScript:将元组类型转换为对象
- vue.js - 注入“Symbol()”找不到错误Vuejs
- javascript - 使用python从浏览器本地存储中获取项目