我尝试使用本文档中提到的以下注释创建内部负载均衡器:
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
我尝试从不同区域的 VM 访问负载均衡器,但 VM 无法到达端点。
但是,根据此文档,我在创建的转发规则上运行以下命令(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 打开了这个问题,这个问题很快得到了解决,他们更新了公共文档(2020 年 1 月 15 日),特别提到了 GKE 1.16 要求全球访问功能正常工作。