我正在运行Kubeflow管道(泊坞窗方法),并且集群使用端点导航到仪表板。创建簇之后,按照此链接Deploy Kubeflow中提到的说明进行操作。一切均已成功创建,并且集群生成了端点,并且端点运行正常。
端点链接将类似于https://appname.endpoints.projectname.cloud.goog。
除最后一个管道外,管道的所有工作负荷均正常运行。在上一个工作负载中,我试图将作业提交给cloud-ml引擎。但是它记录显示该应用程序无权访问该项目。这是日志的完整图片。
错误: (gcloud.ml-engine.versions.create)PERMISSION_DENIED:请求已 认证范围不足。
错误: (gcloud.ml-engine.jobs.submit.prediction)用户 [clustername@project_name.iam.gserviceaccount.com] 没有访问项目[project_name]的权限 (或者它可能不存在):请求的身份验证范围不足。
从日志中很明显,此服务帐户无权访问项目本身。但是,我尝试将Cloud ML Service的访问权限授予该服务帐户,但仍然会引发相同的错误。
将Cloud ML服务凭据提供给此应用程序的任何其他方法。
答案 0 :(得分:1)
检查两件事:
1)GCP IAM:如果clustername-user@projectname.iam.gserviceaccount.com具有ML Engine Admin权限。
2)您的管道DSL:如果cloud-ml引擎步骤调用apply(gcp.use_gcp_secret('user-gcp-sa')),例如https://github.com/kubeflow/pipelines/blob/ea07b33b8e7173a05138d9dbbd7e1ce20c959db3/samples/tfx/taxi-cab-classification-pipeline.py#L67