在Kubernetes中,用户决定公开哪些功能集以及应该以何种方式实现配置。帮助可能来自企业供应商,例如GKE提供的Ingress控制器,也可能来自社区/私有方,涵盖交付服务类似方面的不常见方法。
在这种特殊情况下,我们有两个 nginx 驱动的解决方案。
Ingress 控制器功能齐全,通常被认为是与 GKE 一起使用的默认流量控制器。
Ingress 可以配置为为服务提供外部可访问的 URL、负载平衡流量、终止 SSL 并提供基于名称的虚拟主机。
用户通过将 Ingress 资源 POST 到 API 服务器来请求 Ingress。Ingress 控制器负责实现 Ingress,通常使用负载均衡器,但它也可以配置边缘路由器或其他前端以帮助以 HA 方式处理流量。现在 Ingress 在配置方面是严格面向云的,它使用ConfigMap风格和kubedns来注册服务。
如果您知道老式虚拟主机是如何工作的,并且您对 Web 服务交付的每个新的面向云的方面都不感兴趣,那么 jwilder/nginx-proxy可能对您很感兴趣。在这个解决方案中,nginx 可以充当代理来控制内部托管和使用 IPv6 就绪端点的世界 Web 流量。jwilder/nginx 并不是特别专注于云,但在那里也能正常工作。如果您有兴趣获得免费的 Let's Encrypt证书,可以使用开箱即用的支持。一些用户发现可以使用基本身份验证很有趣,并且 SSL 更灵活地配置用于高级目的。