我尝试使用以下注释在内部创建负载均衡器,如此文档所述:
networking.gke.io/internal-load-balancer-allow-global-access: "true"
这里是完整的清单:
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
我尝试从不同地区的虚拟机访问负载均衡器,但是虚拟机无法到达终点。根据此文档,我在创建的转发规则上运行了以下命令(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问题,他们很快就解决了,并且已经更新了公共文档(2020年1月15日),以明确要求使用GKE 1.16才能使全局访问功能正常工作。
--release-channel=rapid
)上进行了尝试,它可以正常工作,无需手动运行 gcloud 命令。 - Amit Yadav