如何在GCP中为kubernetics创建特定于区域的负载均衡器?

时间:2018-06-10 10:30:35

标签: google-cloud-platform google-kubernetes-engine

我在GCP Kubernetics Engine中创建了一个集群,并通过文档中指定的负载均衡器公开了该集群。

使用以下代码:

kubectl expose deployment deployment-name --type=LoadBalancer --port 80 --target-port 8080

这很好用,并为我提供了外部IP。我的群集位于asia-south1区域,并将其放置在同一区域内的VPC(和子网)内。

问题是当我使用traceroute <load balancer ip>检查我的数据包跃点时,我发现我的数据包到达加利福尼亚。看到我通过IP检查了我的负载均衡器的位置,我发现我的负载均衡器Ip也在加利福尼亚州。为什么会发生这种情况?我预计我的负载均衡器会坐在asia-south1,而我的数据包只能在这个地区旅行?我的配置有什么问题吗?

我的实际问题是延迟。我的服务器代码(Nodejs)在大约70ms完成执行,但是为了向我提供响应(坐在亚洲),花了大约650ms(对于大约100个并发用户)。这是无法接受的。

在此处添加traceroute日志:

 1  xiaoqiang (192.168.31.1)  1.689 ms  1.208 ms  1.324 ms
 2  10.143.0.1 (10.143.0.1)  2.873 ms  8.561 ms  6.314 ms
 3  10.229.0.13 (10.229.0.13)  6.356 ms  3.581 ms  3.517 ms
 4  broadband.actcorp.in (183.82.14.221)  2.793 ms  5.884 ms  26.071 ms
 5  14.141.24.249.static-hyderabad.tcl.net.in (14.141.24.249)  6.486 ms
    14.141.24.161.static-hyderabad.tcl.net.in (14.141.24.161)  2.450 ms
    14.141.24.145.static-hyderabad.tcl.net.in (14.141.24.145)  2.870 ms
 6  * * *
 7  * * *
 8  115.113.165.98.static-mumbai.vsnl.net.in (115.113.165.98)  35.840 ms  39.332 ms  35.704 ms
 9  * * 108.170.248.161 (108.170.248.161)  39.351 ms
10  209.85.253.246 (209.85.253.246)  48.228 ms *
    209.85.251.18 (209.85.251.18)  76.367 ms
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * <MY LOAD BALANCER IP>  32.129 ms *

1 个答案:

答案 0 :(得分:0)

通过使用多种信号将IP块映射到X精度内的物理位置,可以在内部维护IP地理信息。此过程不能保证能正常进行,并且在没有任何信号的情况下,默认设置是退回加利福尼亚州山景城的Google总部,无论该地址所连接的服务器的物理位置如何。可以在following link中找到更多详细信息。

如果您仍然遇到延迟问题,请使用Private Issue Tracker向我们的支持团队提供所有相关详细信息。