问题标签 [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.
google-cloud-platform - Google 负载均衡器未出现在监控仪表板中
我创建了一个带有后端服务的全局负载平衡器,并在 Google Cloud 项目中启用了日志记录。负载均衡器图表和指标应该出现在监控仪表板中,但是没有创建图表和指标。
在Google Cloud 文档中,看起来如果项目中存在负载均衡器,则负载均衡器仪表板就可以使用了。我也找不到手动创建负载均衡器仪表板。
google-cloud-platform - 如果来自特定区域,则 Google Cloud 负载平衡器重定向
我有两个静态页面(英语、丹麦语),目前位于Google Cloud Storage Bucket中。此存储桶包含这些静态页面en
的dk
文件夹。另外,我有一个具有Google CDN功能的负载均衡器。
我想实现这一点,当一个人从丹麦连接到该网站时,该人将获得丹麦静态页面。同时,丹麦以外的人将收到英文网站。
如何在负载均衡器级别实现此目标?
Ps 我认为它可以完成,forwardingRules
但我无法弄清楚规则应该是什么样子。
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 一起使用?如果是这样,你能解释我如何实现这个目标吗?
谢谢你。
go - Google Cloud HTTP(S) 负载平衡器不会取消与后端的连接
我有一个 Google Kubernetes Engine 集群,在几个带有NodePort
s 的 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 版本如何。
amazon-elb - 将负载均衡器配置为广播器
这可能是一个幼稚的问题,所以请多多包涵。:)
在下图中,3 个实例前面有一个负载均衡器......
是否可以配置负载均衡器(ELB/Google 负载均衡器/Azure 负载均衡器......基本上任何)以将每个请求转发/广播到所有实例......如果不是负载均衡器,IaaS 提供商原生提供的组件可以广播对所有实例的此类请求?
我看到了一个类似的问题,但它是从 2016 年开始的,希望有什么改变吗?
service - 无法创建 Ingress
我创建了两个服务,然后尝试在 GKE 中创建 Ingress。我的意图是使用负载平衡器 http/https 负载平衡器创建入口,从我读过的课程中,入口创建负载平衡器。我为负载均衡器创建了一个静态 IP,它是注释的一部分。
两个服务都已成功创建,并且入口也已创建,但入口没有任何主机或 'address' 。
以下是集群服务...
服务定义..与服务 2 相同,但服务名称更改...
入口定义...
你能告诉我我做错了什么吗?
谢谢
google-cloud-platform - 内部 TCP 负载平衡器上的目标端口 - Google Cloud
我正在尝试在 Google Cloud 上配置内部负载均衡器,但无法设置与源端口不同的目标端口。
如果我尝试从 GCP 向导创建一个内部 LB,我看不到任何地方来设置目标端口。
有没有办法做到这一点?
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 层网关的方法是否会降低应用程序的整体可靠性?
google-cloud-platform - 错误:服务器错误 服务器遇到临时错误,无法完成您的请求。请在 30 秒后重试。(GCP)
我已经按照https://cloud.google.com/compute/docs/load-balancing/http/上的文档配置了 HTTP(S) 负载均衡器
当我尝试通过与负载均衡器关联的公共 IP 地址访问该站点时。我收到一条 502 响应消息:
错误:服务器错误
服务器遇到临时错误,无法完成您的请求。
请在 30 秒后重试。
我相信这是来自负载均衡器。
任何人都对可能发生的事情有任何见解,我还应该看什么?
google-cloud-platform - TCP连接被直通负载均衡器强行关闭?
我已经设置了一个 TCP 网络负载平衡器,如下所述:https ://cloud.google.com/load-balancing/docs/network 。我需要平衡从互联网上任何地方到我的后端虚拟机的流量,运行一个自定义应用程序来监听非标准 TCP 端口。
最初似乎一切正常,但大约 10 秒后连接的客户端断开连接,报告错误“现有连接被远程主机强制关闭。”。为了调试,我允许我的后端虚拟机拥有公共 IP,并且当直接连接到其中任何一个时,绕过负载平衡器,一切正常,并且没有断开连接。
据我了解,我正在使用的这个负载平衡器设置应该通过:一旦选择了后端 VM,TCP 连接基本上应该与后端 VM 连接,并且不再涉及负载平衡器。后端虚拟机肯定不会强行终止连接 - 就后端而言,客户端断开连接后连接仍然存在并稍后超时。为其他谷歌云负载平衡器描述的超时设置似乎不适用于外部 TCP/UDP 网络负载平衡。
我错过了什么?