lva*_*dyk 4 google-cloud-platform
我正在努力让负载平衡器与多个应用程序一起工作。我的设置:
Applications: Web1 (Port 10000), Web2 (Port 11000), Web3 (Port 12000)
Servers: Serv1, Serv2, Serv3.
Run Code Online (Sandbox Code Playgroud)
所有服务器都是相同的,Web1、Web2 和 Web3 分别监听端口:10000、11000、12000。
我如何指示负载平衡器执行以下操作:
web1.domain.com -----> use Serv1,Serv2,Serv3 port 10000.
web2.domain.com -----> use Serv1,Serv2,Serv3 port 11000.
web3.domain.com -----> use Serv1,Serv2,Serv3 port 12000.
Run Code Online (Sandbox Code Playgroud)
我设法让它与 1 个应用程序一起工作,但我无法创建 3 个负载均衡器,因为服务器已经属于不同的实例组。
我已经阅读了端口名称映射,但负载均衡器一直忽略它们并使用自己生成的名为“http”的映射。
有没有人遇到过类似的问题?
如果您将这三个不同的后端端口设置为包含这三个服务器的实例组中的命名端口,则此设置应该有效。我已经试过了,设置了一个监听三个不同端口的 Apache 网络服务器,它工作正常。
以下是我为使您所描述的设置正常工作而采取的步骤:
gcloud,尝试运行以下命令:gcloud compute instance-groups set-named-ports "NAME_OF_INSTANCE_GROUP" --zone "INSTANCE_GROUP_ZONE" --named-ports "port0:10000,port1:11000,port2:12000";gcloud,确保将--port-name参数设置为实例组的命名端口之一;按照这些步骤,我得到了一个负载均衡器,它能够通过三个不同的端口访问同一个实例组,只需使用三个不同的 DNS 主机名。
请注意,这种设置有一些重要的限制,更相关的限制是:
- 两个后端必须使用相同的平衡模式,UTILIZATION 或 RATE。
- 您可以同时使用 maxRatePerInstance 和 maxRatePerGroup。可以将一个后端设置为使用 maxRatePerInstance,将另一个设置为 maxRatePerGroup。
- 如果您的实例组分别为多个后端服务两个或多个端口,则您必须在实例组中指定不同的端口名称。
最后,您可以使用 curl 测试此设置:
curl --resolve "web3.domain.com:FRONTEND_PORT:PUBLIC_IP_OF_LB" http://web3.domain.com/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1932 次 |
| 最近记录: |