nginx - 使用 nginx pod 作为反向代理与 nginx 入口之间的区别
问题描述
所以如果我有 10 个服务需要暴露给外界并使用基于路径的路由来连接不同的服务,我可以创建一个 Nginx pod 和服务类型LoadBalancer
然后我可以创建 Nginx 配置,并可以根据 URL 路径重定向到不同的服务。在探索了更多之后,我开始了解 Nginx ingress 也可以做到这一点。这两种方法有什么区别,哪种方法更好?
解决方案
在这两种情况下,您都在集群内的 Kubernetes pod 中运行 Nginx 反向代理。它们之间没有太大的技术差异。
如果您自己运行代理,您可以完全控制 Nginx 版本和配置,如果您有非常特殊的需求并且您已经是 Nginx 专家,这可能是可取的。最显着的缺点是,如果您添加或更改服务,则需要手动重新配置和重新部署中央代理。
如果您使用 Kubernetes ingress,集群会为您维护 Nginx 配置,并根据可以为每个服务部署的 Ingress 对象重新生成它。如果您不是 Nginx 专家,这更容易维护,并且您可以添加和删除服务而无需触及集中配置。
Kubernetes 入口系统原则上也可以插入备用代理;它不仅限于 Nginx。但是,它的可用配置有些有限,我看过的其他一些代理建议使用他们自己的自定义 Kubernetes 资源而不是标准的 Ingress 对象。
推荐阅读
- html - 带有 Angular 的 Kendo Grid 中的多选滚动问题
- lua - Lua 帮我优化我的模式匹配功能
- python - Python Selenium driver.get 打开空白网址
- react-native - iOS 推送通知权限未按预期触发
- c++ - QT Q3Dsurface 显示面板
- python - beautifulsoup:无法从带有 cookie 的股息投资者那里获得正确的信息
- html - 根据最长行的背景和边框换行文本 - CSS
- google-apps-script - 谷歌表格获取行中第一个和最后一个彩色单元格的地址
- python - 我们如何在 python 中找到该模式的模式和出现次数?
- laravel - 来自两个输入的 laravel 同步