繁体   English   中英

使用服务帐户从Compute Engine部署App Engine Flex

[英]Deploying App Engine Flex from Compute Engine with service account

我已经设置了一个计算引擎实例,用于集中维护和更新App Engine Flex实例。 原因之一是将数据库和其他凭据保留在Google Project中,而不是将其存储在本地开发计算机上。

当我尝试灵活部署

gcloud app deploy

我得到一个错误

ERROR: (gcloud.beta.app.deploy) Permissions error fetching application [<project here>]. Please make sure you are using the correct project ID and that you have permission to view applications on the project.

服务帐户是默认的计算引擎帐户,并且我已在IAM中为其启用了编辑者角色。 我还尝试启用所有App Engine角色,但并没有改变这种情况。

有没有一种方法可以从Compute Engine进行部署,如果可以,那么正确的凭据是什么?或者我在这里缺少一些步骤?

我创建了一个新的Compute Engine实例,并尝试发出与您正在运行的命令相同的命令。 我也遇到了同样的问题。 这是我设法解决它的方法。

1)停止实例

2)导航到IAM>服务帐户>创建服务帐户

3)创建一个新的服务帐户,并确保为服务帐户添加“存储管理员”,“项目编辑器”和“云容器构建器编辑器”之外的“ App Engine Admin”或“ App Engine Deployer”角色。 因此,总共应该为服务帐户分配至少4个角色,以及您认为应用程序可能需要的其他任何角色。

4)编辑停止的实例(从步骤1开始),然后将服务帐户更改为您创建的新服务帐户。

重新启动实例后,您现在应该具有正确的权限/角色,可以从实例部署App Engine Flex App。

存在授权问题,因为未为Compute Engine默认服务帐户分配将应用程序部署到App Engine flex所需的角色,因为此过程中使用了各种API。 通过将App Engine Flex部署所需的角色分配给新的服务帐户,然后将该服务帐户添加到实例,该实例便具有与App Engine Flex部署所需的其他GCP API交互所需的授权。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM