当我想在GCP上使用单个HTTPS负载均衡器以结合使用React前端和Express后端在存储桶中提供一些静态内容和动态内容时,我想了解我的负载均衡选项是什么Kubernetes。
其他信息:
任何可以指导我的公共领域的网络蓝图都会有所帮助。
我在NodePort / LoadBalancer / Ingress上做了很多阅读,这让我感到困惑。据我了解,LoadBalancer无法使用HTTP(S)流量,在TCP L4级别上运行更多,因此可能不适合我的用例。
Ingress提供了一个专用的负载均衡器,我无法在该负载均衡器上放置自己的路由到后端存储桶等,这意味着我可能至少需要两个负载均衡器?和两个IP?
NodePort在所有节点上公开一个端口,这意味着即使我的HTTPS负载平衡器路由可以以某种方式提供帮助,我也需要自己处理负载平衡。
任何指导/指针将不胜感激!
编辑:在研究时发现了有关网络端点组(NEG)的一些信息。看起来很有希望。会调查。关于采取这条路线有什么想法吗? https://cloud.google.com/kubernetes-engine/docs/how-to/standalone-neg
编辑:能够结合使用NEG和Nginx反向代理来完成此工作。
答案 0 :(得分:0)
为了解决您的疑虑,请先开始:
Choosing the right loadbalncer:
网络负载平衡器(第4层负载平衡或依赖于TCP / SSL协议的应用程序的代理),负载根据传入的IP协议数据(例如地址,端口和协议类型)转发到您的系统中。
网络负载平衡器是直通负载平衡器,因此您的后端会收到原始的客户端请求。网络负载平衡器不执行任何传输层安全性(TLS)卸载或代理。流量直接路由到您的VM。 网络负载平衡器在适合您需要的区域中的后端终止TLS
HTTP负载均衡器是基于代理的区域性第7层负载均衡器,它使您能够在私有负载均衡IP地址后面运行和扩展服务,该IP地址只能在VPC中的负载均衡器区域中访问网络。
HTTPS和SSL代理负载平衡器在全球分布的位置终止TLS 。 HTTP(S)负载平衡器充当客户端和应用程序之间的代理。如果您要接受来自客户端的HTTPS请求 您可以选择使用Google管理的SSL证书(测试版),也可以使用自己管理的证书。
技术细节 创建Ingress对象时,GKE Ingress控制器会根据Ingress清单和关联的Service清单中的规则配置GCP HTTP(S)负载均衡器。客户端将请求发送到HTTP(S)负载平衡器。 负载均衡器是一个实际的代理;它选择一个节点并将请求转发到该节点的NodeIP:NodePort组合。该节点使用其iptables NAT表来选择Pod。 kube-proxy管理节点上的iptables规则。 路由流量将进入规则中指定服务的健康Pod 。
每个buckets文档:
HTTP(S)负载平衡器可以将流量从指定的URL定向到后端存储桶或后端服务。 使用Loadbalncer时,铲斗应该是公共的-创建铲斗
在LoaBalancer设置期间,您可以选择后端服务和后端存储桶。您可以在docs中找到更多信息。
请同时查看这两个教程here和here的如何使用云存储构建应用程序。
希望获得帮助。