我正在尝试在工作负载识别模式下使用 AutoNEG 控制器(按照手册进行配置),但在自动填充 GCLB 后端时遇到问题。
我注意到,创建 GKE 服务后不久,后端会在 GC 控制台中显示 NEG,但随后它们就会消失并且再也不会出现。
根据 Stackdriver 日志,事件的顺序如下: https://pastebin.com/FKdhqYTy
我可以在那里看到 BAD_REQUEST 和 RESOURCE_NOT_READY 错误。
我的 AutoNEG 控制器在相邻项目中正常工作,但使用云访问范围。这只是额外的背景信息,我不确定这个特定问题是否与 Workload Identity 设置有关。
在受影响的 NEG 中,我可以看到未定义的健康状态。但是我认为(虽然不确定)这是因为后端“尚未使用”,所以这是一个结果。
即使我删除 GKE 服务并再次创建它们,问题仍然存在 - 所以这不是与 LB 后端服务创建的任何类型的竞争。
知道这里出了什么问题吗?
也作为 AutoNEG 控制器的 GitHub 问题打开,但我不确定它是工具问题还是通用 GCP 问题:https://github.com/GoogleCloudPlatform/gke-autoneg-controller/issues/18
答案1
原因是:为 AutoNEG 创建的工作负载身份帐户应在主机项目中具有 compute.networkUser 权限,以获取网络/子网的名称。对于共享 VPC 环境,情况确实如此。