Google容器引擎中的HTTPS负载均衡器

luc*_*lho 29 google-compute-engine google-kubernetes-engine google-cloud-http-load-balancer

我正在尝试使用HTTPS L7负载均衡器为GKE设置HTTPS负载均衡器,但由于某种原因无效.甚至是HTTP负载平衡演练中的HTTP负载均衡器.转发规则的IP地址已创建,我可以ping和telnet到端口80.但是当通过curl请求时,它会给我一个错误.

<title>502 Server Error</title> </head> <body text=#000000 
bgcolor=#ffffff> <h1>Error: Server Error</h1> <h2>The server 
encountered a temporary error and could not complete your request. 
<p>Please try again in 30 seconds.</h2> <h2></h2> </body></html>
Run Code Online (Sandbox Code Playgroud)

所有步骤都很好,我创建了一个没有任何标签的防火墙$ {NODE_PORT},但它没有用.

有谁遇到过这个问题?

and*_*esk 27

我的应用程序遇到了同样的问题,问题是我们没有返回"成功"的端点,并且运行状况检查总是失败.

如果健康检查没有通过,似乎HTTP/HTTPS负载均衡器不会将请求发送到集群节点,所以我的解决方案是创建一个总是返回200 OK的端点,并且一旦健康状况检查通过, LB开始工作了.


Rob*_*ley 10

我刚刚完成了示例(在为$ NODE_PORT打开防火墙之前)看到了同样的502错误.

如果您查看云控制台

https://console.developers.google.com/project/<project>/loadbalancing/http/backendServices/details/web-map-backend-service
Run Code Online (Sandbox Code Playgroud)

您应该看到后端显示$ {num_nodes_in_cluster}中的0为健康状态.

对于防火墙定义,请确保将源过滤器设置130.211.0.0/22为允许来自负载平衡服务的流量并将允许的协议和端口设置为tcp:$NODE_PORT.

  • 嗯……显然谷歌在 kubernetes 的 http 代理文档中忘记了这一点:https://cloud.google.com/container-engine/docs/tutorials/http-balancer (2认同)

Bru*_*uce 5

我使用GKE,我只是简单地浏览了该示例,它仍然可以正常工作,但是当我转到自己的服务时,它就无法正常工作。(我的服务是REST API服务)

我发现,我的服务与示例之间的最大区别在于:该示例具有根端点(“ /”),但我不支持。

因此,我通过这种方式解决了这个问题:在我的服务中添加一个根端点(“ /”),然后返回成功(一个空终端,不返回任何内容),然后重新创建入口,并等待了几分钟,然后入口就可以了!!

我认为这个问题应该是由健康检查人员引起的UNHEALTHY instances do not receive new connections。

这是健康检查的链接:https : //cloud.google.com/compute/docs/load-balancing/health-checks