问题标签 [google-cloud-load-balancer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
161 浏览

google-cloud-platform - Google 负载均衡器未出现在监控仪表板中

我创建了一个带有后端服务的全局负载平衡器,并在 Google Cloud 项目中启用了日志记录。负载均衡器图表和指标应该出现在监控仪表板中,但是没有创建图表和指标。

Google Cloud 文档中,看起来如果项目中存在负载均衡器,则负载均衡器仪表板就可以使用了。我也找不到手动创建负载均衡器仪表板。

0 投票
1 回答
50 浏览

google-cloud-platform - 如果来自特定区域,则 Google Cloud 负载平衡器重定向

我有两个静态页面(英语、丹麦语),目前位于Google Cloud Storage Bucket中。此存储桶包含这些静态页面endk文件夹。另外,我有一个具有Google CDN功能的负载均衡器。

我想实现这一点,当一个人从丹麦连接到该网站时,该人将获得丹麦静态页面。同时,丹麦以外的人将收到英文网站。

如何在负载均衡器级别实现此目标?

Ps 我认为它可以完成,forwardingRules但我无法弄清楚规则应该是什么样子。

0 投票
4 回答
1109 浏览

google-app-engine - 如何将 Cloud Armor 与 GAE Flex 结合使用?

我想知道是否可以将 Cloud Armor 与 GAE Flex 一起使用?因为在Cloud Armor 的文档中,它说您必须使用HTTPS 负载均衡器。由于 GAE Flex 没有负载均衡器,我们如何将 Cloud Armor 与 GAE Flex 一起使用?我们必须使用 WAF 来防止 DDOS 攻击。是否可以通过 HTTPS 负载均衡器将 Cloud Armor 与 GAE Flex 一起使用?如果是这样,你能解释我如何实现这个目标吗?

谢谢你。

0 投票
1 回答
165 浏览

go - Google Cloud HTTP(S) 负载平衡器不会取消与后端的连接

我有一个 Google Kubernetes Engine 集群,在几个带有NodePorts 的 pod 中,所有的都通过 暴露Ingress,它创建了一个 HTTP 负载均衡器 (LB)。我正在为 LB 使用带有 Google 托管 SSL 证书的自定义域。

我的后端是一个用 Go 编写的 HTTP 服务器,使用它的"net/http"包。它使用带有 LB 的 mTLS 的自签名证书(Google 的 HTTP LB 接受任何 mTLS 证书)。

一切正常,除了一种情况,即客户端创建与 LB 的 HTTP 1.1 连接,然后取消请求。这会取消客户端和 LB 之间的连接,但 LB 会与我的后端保持打开连接,直到服务器超时。

我的用例要求打开请求甚至几个小时,所以我的服务器有很大的超时值。请求中的业务逻辑正确使用了请求Context,并考虑了请求是否被客户端取消。

如果客户端发出 HTTP2 请求并取消它,即取消到我的后端的整个连接,一切都会按预期工作。

这是一个模拟可取消的长时间运行任务的示例 Go 处理程序:

case <-ctx.Done():永远不会为取消的 HTTP 1.1 请求调用。

为了便于测试,我使用 curl 和Ctrl+C; 这有效:

这不会:

不管NodePort是 HTTPS 还是 HTTP2,LB 对客户端取消的请求的行为完全相同。

我尝试用 Go 1.14.4 和 1.13.12 编译服务器,结果是一样的。

这是 Kubernetes、Ingress、Google Kubernetes Engine、Google 的 HTTP 负载均衡器、Go 的 HTTP 服务器中的错误吗?还是我缺少 HTTP 1.1 的东西?有什么问题,我该如何解决?

...不可能知道后端的 HTTP 版本,所以我可以拒绝所有 HTTP 1.1 请求。LB 在与其后端通信时始终使用相同的 HTTP 版本,无论客户端的 HTTP 版本如何。

0 投票
1 回答
148 浏览

amazon-elb - 将负载均衡器配置为广播器

这可能是一个幼稚的问题,所以请多多包涵。:)

在下图中,3 个实例前面有一个负载均衡器......

是否可以配置负载均衡器(ELB/Google 负载均衡器/Azure 负载均衡器......基本上任何)以将每个请求转发/广播到所有实例......如果不是负载均衡器,IaaS 提供商原生提供的组件可以广播对所有实例的此类请求?

在此处输入图像描述

我看到了一个类似的问题,但它是从 2016 年开始的,希望有什么改变吗?

0 投票
1 回答
38 浏览

service - 无法创建 Ingress

我创建了两个服务,然后尝试在 GKE 中创建 Ingress。我的意图是使用负载平衡器 http/https 负载平衡器创建入口,从我读过的课程中,入口创建负载平衡器。我为负载均衡器创建了一个静态 IP,它是注释的一部分。

两个服务都已成功创建,并且入口也已创建,但入口没有任何主机或 'address' 。

以下是集群服务...

服务定义..与服务 2 相同,但服务名称更改...

入口定义...

你能告诉我我做错了什么吗?

谢谢

0 投票
1 回答
747 浏览

google-cloud-platform - 内部 TCP 负载平衡器上的目标端口 - Google Cloud

我正在尝试在 Google Cloud 上配置内部负载均衡器,但无法设置与源端口不同的目标端口。

如果我尝试从 GCP 向导创建一个内部 LB,我看不到任何地方来设置目标端口。

有没有办法做到这一点?

0 投票
0 回答
46 浏览

google-kubernetes-engine - 使用托管在 K8S 中的 HTTP 网关而不是平台平衡器是否不太可靠?

我一直在 GCP 上使用 K8S(GKE 及其平台提供 HTTPS 全局负载均衡器),但是当 K8S 中有数百个域和数十个独特的公共后端站点时,发现负载均衡器很难管理,每个站点都有自己的后端服务定义和插入单个负载平衡器。

集群没有使用本机 VPC IP 地址设置,因此每个站点都获得了为其定义的 NodePort 服务,并且该 NodePort 被添加到后端服务中。因此,来自负载均衡器的健康检查有些错误,因为单个 pod 给出错误响应意味着整个组将被视为不健康,而实际上该 pod 可能完全位于集群中的其他位置。同样,由于 NodePort 配置,请求可能会被路由到一个组(区域)并通过 K8S 服务获取路由到另一个区域中的另一个节点以进行处理。

如果集群启用了本机 VPC IP,则可以使用网络端点组 (NEG) 配置站点并直接路由到 pod,处理迂回路由和健康检查。但它不会降低负载均衡器的复杂性。

但是向 K8S 添加网关,如 Istio 网关、nginx、大使、traefik 等,都将提供一个层,可以在 K8s 上配置第 7 层路由,这将最大限度地减少配置数量,并添加谷歌负载均衡器缺少的功能.

这种添加第 7 层网关的方法是否会降低应用程序的整体可靠性?

0 投票
3 回答
27551 浏览

google-cloud-platform - 错误:服务器错误 服务器遇到临时错误,无法完成您的请求。请在 30 秒后重试。(GCP)

我已经按照https://cloud.google.com/compute/docs/load-balancing/http/上的文档配置了 HTTP(S) 负载均衡器

当我尝试通过与负载均衡器关联的公共 IP 地址访问该站点时。我收到一条 502 响应消息:

错误:服务器错误

服务器遇到临时错误,无法完成您的请求。

请在 30 秒后重试。

我相信这是来自负载均衡器。

任何人都对可能发生的事情有任何见解,我还应该看什么?

0 投票
1 回答
293 浏览

google-cloud-platform - TCP连接被直通负载均衡器强行关闭?

我已经设置了一个 TCP 网络负载平衡器,如下所述:https ://cloud.google.com/load-balancing/docs/network 。我需要平衡从互联网上任何地方到我的后端虚拟机的流量,运行一个自定义应用程序来监听非标准 TCP 端口。

最初似乎一切正常,但大约 10 秒后连接的客户端断开连接,报告错误“现有连接被远程主机强制关闭。”。为了调试,我允许我的后端虚拟机拥有公共 IP,并且当直接连接到其中任何一个时,绕过负载平衡器,一切正常,并且没有断开连接。

据我了解,我正在使用的这个负载平衡器设置应该通过:一旦选择了后端 VM,TCP 连接基本上应该与后端 VM 连接,并且不再涉及负载平衡器。后端虚拟机肯定不会强行终止连接 - 就后端而言,客户端断开连接后连接仍然存在并稍后超时。为其他谷歌云负载平衡器描述的超时设置似乎不适用于外部 TCP/UDP 网络负载平衡。

我错过了什么?