[英]Slow static IP assignment to Kubernetes Load Balancer on Google Cloud Platform
当我使用以下规范创建Kubernetes负载均衡器服务时:
{
"apiVersion": "v1",
"kind": "Service",
"metadata": {
"name": "a1"
},
"spec": {
"selector": {
"app": "a1"
},
"ports": [
{
"port": 80,
"targetPort": 80,
"name": "http"
},
{
"port": 443,
"targetPort": 443,
"name": "https"
}
],
"type": "LoadBalancer"
}
}
我必须等待1至2分钟,直到获得EXTERNAL_IP
。
我想到了要保留静态IP,然后在创建服务时分配它们:
{
"apiVersion": "v1",
"kind": "Service",
"metadata": {
"name": "a1"
},
"spec": {
"selector": {
"app": "a1"
},
"ports": [
{
"port": 80,
"targetPort": 80,
"name": "http"
},
{
"port": 443,
"targetPort": 443,
"name": "https"
}
],
"type": "LoadBalancer",
"loadBalancerIP": "130.211.64.237"
}
}
但是我有同样的延迟1-1.5分钟:
$ kubectl get svc
NAME CLUSTER_IP EXTERNAL_IP PORT(S) SELECTOR AGE
a1 10.127.248.248 130.211.64.237 80/TCP,443/TCP app=a1 1m
有谁知道为什么会出现这种延迟以及是否有一种方法可以缩短延迟时间?
不幸的是,延迟是由Compute Engine API中用于创建负载平衡服务的组件的延迟引起的,没有真正的方法来避免它。
在指示创建负载均衡器时,Kubernetes主服务器必须创建静态IP地址,目标池,转发规则和防火墙规则。 这些资源可能需要花费一些时间才能完全初始化并可以使用,因此现在暂时等待一两分钟。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.