google-cloud-platform - 如何在 GCP 上设置射线项目自动缩放

标签 google-cloud-platform ray

我在谷歌云计算上设置光线自动缩放时遇到了真正的困难。我可以让它在 AWS 上运行没问题,但是在运行 ray up 时我一直遇到以下错误:

googleapiclient.errors.HttpError: https://cloudresourcemanager.googleapis.com/v1/projects?alt=json returned "Service accounts cannot create projects without a parent.">



我的项目是组织的一部分,所以我不明白这是从哪里来的,或者为什么首先需要创建一个项目。我已经在 yaml 文件中输入了我的项目 ID,就像我通常为 AWS 所做的那样。

非常感谢你。我很感激我能得到的任何帮助!!

最佳答案

涉及服务帐户的错误消息以及该项目已经存在的事实表明,Ray Autoscaler 使用的 googlecloudapiclient 已针对无权访问该项目的服务帐户进行了身份验证。

如果这是真的,那么这就是我认为会发生的事情。通常,在运行 Ray GCP Autoscaler 时,它会首先检查具有给定 id 的项目是否存在。在您的情况下,此请求返回“未找到”,因为没有具有与服务帐户关联的给定 ID 的项目。现在,由于该项目不存在,Ray 会自动尝试为您创建一个。通常,如果我们使用用户帐户(即非服务帐户)创建新 GCP 项目,则新创建的项目将与用户帐户的默认组织相关联。但是,服务帐户必须在创建新项目时明确指定父组织。如果我们查看 ray.autoscaler.config._create_project函数,我们看到传递给 projects.create 的参数方法省略 'parent' 参数,这解释了为什么您会看到错误。

要验证这是否属实(并希望能解决问题),您可以更改用于通过 googlecloudapiclient 进行身份验证的帐户。我相信用于 googlecloudapiclient 请求的凭据与 Google Cloud SDK 使用的凭据相同,因此您应该能够使用 gcloud auth login 配置帐户命令。

我认为 Ray Autoscaler 可以通过允许用户在创建新项目时明确指定父组织,或者至少通过为这种特殊情况提供更详细的错误消息来改进。

我希望这可以解决您的问题。如果没有,并且您认为这是 Autoscaler 的问题,请不要犹豫,向 Ray Issues page 提出问题或功能请求。 !

关于google-cloud-platform - 如何在 GCP 上设置射线项目自动缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55074163/

相关文章:

mysql - 带有 JdbcIO 编写器的 ApacheBeam/DataFlow runner 创建了太多连接

python-3.x - 是否可以在不编写新文件的情况下将文本合成语音?

python - 具有多个返回并调用 ray.get() 的 Ray python 示例

ray - 如何评估在 rllib (Ray) 的自定义环境中训练的 Actor ?

database - 是否可以在 Firestore 上添加一个层,这样更改就不会直接提交?

google-cloud-platform - 我们如何与 Dataproc Metastore 交互以获取数据库和表的列表?

python - 使用ray并行化模拟器python

python - 雷有奇怪的耗时

java - 数据流SDK 2.x : PubSubIO authorization error

Python Ray 似乎会为每个远程函数调用复制对象