博客 | NGINX

选择入口控制器的指南,第 4 部分: NGINX 入口控制器选项

NGINX-F5-horiz-black-type-RGB 的一部分
Jenn Gile 缩略图
詹妮弗·吉尔
2021 年 9 月 27 日发布

编辑– 这篇文章是10 篇系列文章的一部分:

  1. 使用生产级 Kubernetes 降低复杂性
  2. 如何通过高级流量管理提高 Kubernetes 的弹性
  3. 如何提高 Kubernetes 中的可见性
  4. 使用流量管理工具保护 Kubernetes 的六种方法
  5. 选择入口控制器的指南,第 1 部分: 确定您的需求
  6. 选择入口控制器的指南,第 2 部分: 风险与未来保障
  7. 选择入口控制器的指南,第 3 部分: 开源与…… 默认与…… 商业的
  8. 选择入口控制器的指南,第 4 部分: NGINX Ingress Controller 选项(本帖)
  9. 如何选择服务网格
  10. 在动态 Kubernetes 云环境中对 NGINX Ingress 控制器进行性能测试

您还可以下载完整的博客作为免费的电子书 -将 Kubernetes 从测试带到生产

根据云原生计算基金会 (CNCF) 2020 年调查,NGINX 是 Kubernetes入口控制器中最常用的数据平面——但您是否知道有多个“NGINX 入口控制器”?

该博客的先前版本于 2018 年发布,标题为《等一下,我正在使用哪个用于 Kubernetes 的 NGINX 入口控制器? 》,源于与社区成员关于两个使用 NGINX 的流行入口控制器的存在的对话。

很容易看出为什么会出现(并且仍然存在)混乱。 两个 Ingress 控制器都是:

  • 称为“NGINX Ingress Controller”
  • 开源
  • 托管在 GitHub 上,且仓库名称非常相似
  • 大约在同一时间启动的项目的结果

当然它们最大的共同点就是实现相同的功能。

NGINX 与 Kubernetes 社区 Ingress 控制器

为了清楚起见,我们这样区分两个版本:

还有许多其他基于 NGINX 的 Ingress 控制器,例如 Kong,但幸运的是它们的名称很容易区分。 如果您不确定正在使用哪个 NGINX Ingress Controller,请检查正在运行的 Ingress Controller 的容器镜像,然后将 Docker 镜像名称与上面列出的存储库进行比较。

NGINX Ingress Controller 目标和优先级

NGINX Ingress Controller 与社区 Ingress 控制器(以及其他基于 NGINX 开源的 Ingress 控制器)之间的主要区别在于它们的开发和部署模型,而这些模型又基于不同的目标和优先级。

  • 开发理念——对于所有 NGINX 项目和产品,我们的首要任务是提供具有长期稳定性和一致性的快速、轻量级工具。 我们尽一切努力避免版本之间的行为变化,特别是任何破坏向后兼容性的变化。 我们保证您在升级时不会遇到任何意外的惊喜。 我们也相信选择,因此我们所有的解决方案都可以部署在任何平台上,包括裸机、容器、虚拟机以及公共、私有和混合云。
  • 集成代码库- NGINX Ingress Controller 使用 100% 纯 NGINX 开源或 NGINX Plus 实例进行负载均衡,仅使用原生 NGINX 功能应用最佳实践配置。 它不依赖于任何未从我们的互操作性测试中受益的第三方模块或 Lua 代码。 我们不会从大量第三方存储库组装我们的 Ingress 控制器;我们自己开发和维护负载均衡器(NGINX 和 NGINX Plus)和 Ingress 控制器软件(Go应用)。 我们是 Ingress 控制器所有组件的唯一权威机构。
  • 高级流量管理——标准 Kubernetes Ingress 资源的局限性之一是您必须使用注释、ConfigMaps 和客户模板等辅助功能来使用高级功能对其进行自定义。 NGINX Ingress 资源提供原生、类型安全和缩进的配置样式,简化了 Ingress 负载平衡功能的实现,包括 TCP/UDP、断路、A/B 测试、蓝绿部署、标头操作、相互 TLS 身份验证(mTLS)和 Web应用防火墙(WAF)。
  • 持续生产准备——每个版本都按照可支持的生产标准进行构建和维护。 无论您使用的是基于 NGINX 开源版本还是基于 NGINX Plus 的版本,您都可以同样受益于这种“企业级”关注。 NGINX 开源用户可以在GitHub上从我们的工程团队获得问题解答,而 NGINX Plus 订阅者可以获得一流的支持。 无论哪种方式,就像在您的 DevOps 团队中拥有一名 NGINX 开发人员一样!

NGINX 开源与…… NGINX Plus – 为什么要升级到我们的商业版?

既然我们在这里,让我们回顾一下从基于 NGINX Plus 的NGINX Ingress Controller 获得的一些主要好处。 正如我们在“如何选择 Kubernetes Ingress 控制器(第 3 部分)”中讨论的那样: 开源与…… 默认与…… 商业,开源和商业 Ingress 控制器之间存在实质性差异。 如果您计划在生产中进行大规模 Kubernetes 部署和复杂应用,您会发现我们的商业 Ingress 控制器可以在一些关键领域为您节省时间和金钱。

安全性与合规性

许多组织无法在生产中交付 Kubernetes 应用程序的主要原因之一是难以保证它们的安全性和合规性。 基于 NGINX Plus 的NGINX Ingress Controller 解锁了五个用例,这些用例对于确保您的应用程序和客户的安全至关重要。

了解德国汽车巨头奥迪如何利用 NGINX 在奥迪未来技术愿景和应用创新中保护其 Red Hat OpenShift 应用。

application性能和弹性

正常运行时间和应用速度通常是开发人员和平台运营团队的关键绩效指标 (KPI)。 基于 NGINX Plus 的NGINX Ingress Controller 解锁了五个用例,可帮助您兑现 Kubernetes 的承诺。

  • 获得实时监控- NGINX Plus 仪表板显示数百个关键负载和性能指标,以便您可以快速排除应用程序缓慢(或关闭!)的原因。
  • 更快地检测和解决故障——实施带有主动健康检查的断路器,主动监控 TCP 和 UDP 上游服务器的健康状况。
  • 零重启重新配置——更快、无中断的重新配置确保您能够提供具有一致性能和资源使用率且比开源替代方案具有更低延迟的应用。
  • 彻底测试新功能和部署——利用键值存储来更改百分比而无需重新加载,使 A/B 测试和蓝绿部署更容易执行。
  • 快速解决支持需求——对于那些不能等待社区回答问题或不敢冒险暴露敏感数据的组织来说,保密的商业支持至关重要。 NGINX 支持分为多个层次以满足您的需求,并涵盖安装、部署、调试和错误更正方面的帮助。 当某件事看上去不“对劲”时,你甚至可以得到帮助。

了解商业短信公司 Zipwhip 如何使用 NGINX 加强 Amazon EKS 的安全性和流量可见性,使其 SaaS 应用程序的正常运行时间达到 99.99%。

下一步: 尝试 NGINX Ingress Controller

如果您已确定开源 Ingress 控制器是您的应用的正确选择,那么您可以在我们的GitHub repo上快速开始。

对于大规模生产部署,我们希望您尝试基于 NGINX Plus 的商业 Ingress 控制器。 它提供30 天免费试用,其中包括 NGINX App Protect。


“这篇博文可能引用了不再可用和/或不再支持的产品。 有关 F5 NGINX 产品和解决方案的最新信息,请探索我们的NGINX 产品系列。 NGINX 现在是 F5 的一部分。 所有之前的 NGINX.com 链接都将重定向至 F5.com 上的类似 NGINX 内容。”