jwilder/nginx-proxy在Docker Hub上具有1.3k星和10m 的拉动。并在Github上观看262,Star 7701,叉1546。https://github.com/jwilder/nginx-proxy
Kubernetes/Ingress-nginx在Kubeapps.com上有13颗星(最明星的图表之一(,并在Github上观看137,Star 1596,Fork 918。https://github.com/kubernetes/ingress-nginx
- 两者有什么区别?
- 您什么时候使用另一个?
是2个不同的应用程序,但两者都基于nginx并具有相似的函数。
-
jwilder的nginx-proxy是Docker容器的代理服务器,其中包括
docker-gen
自动生成Nginx的配置。您可以将其用于SSL终止,负载平衡等。但是很难在Kubernetes中管理Nginx-Proxy。 -
kubernetes的Ingress-nginx是Ingress Controller,它为您的Kubernetes群集提供了功能。它还可以执行SSL终止和其他一些事情,但它是专门用于Kubernetes的创建,并且是抽象的。这意味着您可以创建包含服务作为后端和使用选择器等的Ingress对象。
因此,如果您使用的是Kubernetes,则Ingress-nginx是最佳选择。如果您仅使用没有编排的docker容器,请使用nginx-proxy。
在kubernetes中,用户决定要公开的功能集以及应采取什么方式进行配置。帮助可能来自企业供应商,例如由GKE提供的入口控制器,以及从社区/私人支持的一面,涵盖了罕见的交付服务方面方法。
在这种特殊情况下,我们有两个NGINX驱动的解决方案。
一个入口控制器是全功能的,并且主要被认为是与GKE一起使用的默认流量控制器。
可以配置为提供服务外部可接触的URL,负载余额流量,终止SSL并提供基于名称的虚拟托管。
用户通过将入口资源发布到API服务器来请求入口。入口控制器通常负责填充加入器,通常还使用负载量,尽管它也可能配置您的边路路由器或其他前端,以帮助以HA的方式处理流量。如今,就配置而严格针对云的入口,它使用ConfigMap样式和Kubedns进行注册服务。
如果您知道老式虚拟主机的工作方式,并且对Web服务交付的每个新的面向云的方面都不感兴趣,那么Jwilder/nginx-Proxy可能对您来说很有趣。在此解决方案中,NGINX可以用IPv6 Ready端点来控制内部托管和世界网络流量的代理。Jwilder/nginx并不是特别专用于云,但在那里也很好。如果您有兴趣获得免费的"让我们加密证书",那么对其有一个户外支持。一些用户发现可以使用基本身份验证很有趣,并且SSL更灵活以配置为高级目的。