当前位置: 首页 > 知识库问答 >
问题:

我可以使用GCP HTTPS负载均衡器在存储桶后端和库伯内特斯服务之间路由吗?

阚小云
2023-03-14

我想了解在我想在GCP上使用一个HTTPS负载平衡器来服务bucket中的一些静态内容和Kubernetes上使用react前端和express后端组合的动态内容的场景中,我的负载平衡选项是什么。

附加信息:

  • 我有一个在谷歌域名之外注册的域名
  • 我想通过https提供所有内容
  • 我不是从什么大事做起的。刚刚开始一个或多或少的业余爱好类型的项目,在不久的将来,它将吸引很少的流量
  • 我不介意从app engine为我的react前端、express后端提供服务,如果这有助于简化这个过程的话。然而,在这种情况下,我想了解一下,如果我仍然想要kubernetes上的一些东西,我是否能够使用内部IP在app engine和kubernetes之间进行通信,而不会遇到麻烦。我该如何平衡流量

任何一种公共领域的网络蓝图都会对我有所帮助。

我读了很多关于NodePort/LoadBalancer/Ingress的文章,这让我很困惑。据我所知,LoadBalancer不处理HTTP(S)流量,更多地在TCP L4级别运行,因此可能不适合我的用例。

Ingress提供了一个自己的专用负载平衡器,我无法将自己的路由放到后端bucket等上,这意味着我可能至少需要两个负载平衡器?还有两个IP?

NodePort在所有节点上公开一个端口,这意味着我需要自己处理负载平衡,即使我的HTTPS负载平衡器路由可能会有所帮助。

任何指导/指针将不胜感激!

编辑:在研究时发现了有关网络endpoint组(NEG)的一些信息。看起来很有前途。将进行调查。有没有想过走这条路?https://cloud.google.com/kubernetes-engine/docs/how-to/standalone-neg

编辑:能够使用NEG和Nginx反向代理的组合来实现这一点。

共有1个答案

白烨煜
2023-03-14

为了解决您的疑虑,请从以下开始:

>

  • 选择正确的负载均衡器:

    >

  • 网络负载平衡器(依赖TCP/SSL协议的应用程序的第4层负载平衡或代理)负载根据传入的IP协议数据(例如地址、端口和协议类型)转发到您的系统。

    网络负载均衡器是直通负载均衡器,因此您的后端会接收原始客户端请求。网络负载均衡器不执行任何安全传输层协议(TLS)卸载或代理。流量直接路由到您的VM。网络负载均衡器在位于适合您需求的区域的后端终止TLS

    HTTP(s)loadbalancer是一种基于代理的区域第7层负载平衡器,它使您能够在专用负载平衡IP地址后运行和扩展服务,该IP地址只能在VPC网络中的负载平衡器区域中访问。

    HTTPS和SSL代理负载平衡器在全局分布的位置终止TLS。HTTP(S)负载平衡器充当客户端和应用程序之间的代理。如果要接受客户端的HTTPS请求,可以选择使用Google托管SSL证书(Beta版)或使用您自己管理的证书。

    技术详细信息创建入口对象时,GKE入口控制器会根据入口清单和相关服务清单中的规则配置GCP HTTP(S)负载平衡器。客户端向HTTP(S)负载平衡器发送请求。负载平衡器是一个实际的代理;它选择一个节点并将请求转发给该节点的NodeIP:NodePort组合。节点使用其iptables NAT表来选择Pod。kube代理管理节点上的iptables规则。路由流量将进入规则中指定服务的正常Pod。

    每个桶留档:

    HTTP(S)负载平衡器可以将来自指定URL的流量定向到后端bucket或后端服务。使用Loadbalncer-创建Bucket Bucket时,Bucket应为public

    在LoaBalancer设置期间,您可以选择后端服务和后端bucket。您可以在文档中找到更多信息。

    请看一下这两个教程,以及如何使用云存储构建应用程序。

    希望这有帮助。

    附加资源:负载均衡器、控制器

  •  类似资料:
    • 我在两个节点上运行 Kubernetes,并在两个节点上部署一个应用程序(两个 pod,每个节点一个)。 这是一个Spring Boot应用程序。它使用OpenFygnd来实现服务可发现性。在应用程序中,我定义了一个一来控制程序,它有几个API和一个从API内部调用的@Autow的@Service。 每当我对其中一个API进行请求时,Kubernetes都会使用某种负载平衡来将流量路由到其中一个p

    • 在使用Google容器引擎时,人们会推荐GCP的本机负载平衡器还是Kubernetes服务type=负载平衡器选项? 人们推荐哪一种?

    • 我正在为多云开发一个新的“Kubernetes即服务”平台(如GKE等)。 问题是:K8S服务类型“LoadBalancer”与云负载平衡器(Kubernetes外部)配合使用。吉凯恩 我想在我的新“Kubernetes As a Service”平台上提供类似的功能,用户可以在该平台上选择云提供商,创建Kubernetes集群 在Kubernetes集群创建之前,我能够自动执行流程,但在“K8S

    • 我只是在本地mac上使用mini kube设置kubernetes。 创建了一个类型为NodePort的服务,并且能够使用url

    • 我正在Kubernetes(GKE)中运行WebService后端应用程序。它仅由我们的前端Web应用程序使用。通常,来自同一用户(ClientIP)的请求有数十个序列。我的应用程序设置为运行至少2个实例(“minReplicas:2”)。 问题:从日志中我可以看到一个pod过载(接收许多请求)而另一个闲置的情况。两个吊舱都处于就绪状态。 我试图修复它:我试图添加一个自定义就绪状态检查,当有太多打

    • 背景: 我对谷歌的云平台很陌生,所以我想确保我没有遗漏任何明显的东西。 我们正在试验GKE和Kubernetes,我们希望通过https公开一些服务。我已经阅读了有关http(s)负载平衡的文档,这些文档似乎建议您应该维护自己的进行SSL终端和负载平衡的nginx实例。对我来说,这看起来相当复杂(我习惯于使用AWS及其负载平衡器(ELB),它支持SSL终止已有很长时间了)。 问题: 如果您只需要在