我尝试使用this documentation中提到的以下注释创建内部负载均衡器:
networking.gke.io/internal-load-balancer-allow-global-access: "true"
这是完整的 list :
apiVersion: v1
kind: Service
metadata:
name: ilb-global
annotations:
cloud.google.com/load-balancer-type: "Internal"
networking.gke.io/internal-load-balancer-allow-global-access: "true"
labels:
app: hello
spec:
type: LoadBalancer
selector:
app: hello
ports:
- port: 80
targetPort: 8080
protocol: TCP
我尝试从其他区域的VM访问负载平衡器,但该VM无法访问端点。
但是,根据this documentation的要求,我在创建的转发规则上运行了以下命令(GCP为所有负载均衡器创建了具有随机名称的转发规则,可以使用
gcloud compute forwarding-rules list
命令进行检索)以更新全局访问权限:gcloud beta compute forwarding-rules update abcrandomnamehehe --region [REGION-NAME] --allow-global-access
运行上述命令并手动更新负载均衡器后,可以从所有区域访问该端点。这是运行
gcloud
命令的手动步骤吗?如果是,注释的用途是什么?我也使用了最新的GKE版本(1.15.4-gke.22)进行注释,但是如果不使用
gcloud
命令进行更新,则该注释将不起作用。是否有我缺少的东西,或者它是GCP中的错误?编辑:我还打开了GCP的this问题,该问题很快得到解决,他们更新了公共(public)文档(2020年1月15日),特别提到了GKE 1.16才能使Global Access功能正常工作。
最佳答案
这是预料之中的,但是在公共(public)文档中根本没有解释这种现象的原因。实际上,“全局访问”功能可与GKE 1.16群集一起使用。
到目前为止,我可以与您分享以下要点:
话虽如此,我想通知您,公共(public)信息中的这种不匹配已由正确的团队正确解决,正在处理,以便更新可用的here公共(public)文档,以防止将来造成困惑。您可以通过跟踪更新here来跟踪此过程
您如何验证上面提供的信息?在这里,您可以执行一个简短的过程:
测试1:
测试2:
关于kubernetes - GCP内部负载平衡器全局访问(Beta)注释不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59680679/