2

我正在运行 Kubeflow 管道(docker 方法),集群使用端点导航到仪表板。按照此链接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 服务的访问权限,但它仍然抛出相同的错误。

向此应用程序提供 Cloud ML 服务凭据的任何其他方式。

4

1 回答 1

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

于 2019-05-21T17:13:16.833 回答