使用服务帐户从 Compute Engine 部署 App Engine Flex
Deploying App Engine Flex from Compute Engine with service account
我已经设置了一个计算引擎实例,用于集中维护和更新 App Engine Flex 实例。这样做的原因之一是将数据库和其他凭据保存在 Google 项目中,而不是将它们存储在本地开发机器上。
当我尝试使用
进行弹性部署时
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) 创建一个新的服务帐户,并确保除了 'Storage Admin'、'Project Editor' 和 'Cloud Container Builder Editor' 之外,还添加了“App Engine Admin”或 'App Engine Deployer' 的角色服务帐户。因此,您总共应该至少为服务帐户分配 4 个角色,以及您认为您的应用程序可能需要的任何其他角色。
4) 编辑停止的实例(从步骤 1 开始)并将服务帐户更改为您创建的新服务帐户。
当您重新启动实例时,您现在应该有正确的 permissions/roles 从实例部署您的 App Engine Flex 应用程序。
存在授权问题,因为未为 Compute Engine 默认服务帐户分配将应用程序部署到 App Engine flex 所需的角色,因为在此过程中使用了各种 API。通过将 App Engine Flex 部署所需的角色分配给新的服务帐户,然后将服务帐户添加到实例,该实例便具有与 App Engine Flex 部署所需的其他 GCP API 交互所需的授权。
我已经设置了一个计算引擎实例,用于集中维护和更新 App Engine Flex 实例。这样做的原因之一是将数据库和其他凭据保存在 Google 项目中,而不是将它们存储在本地开发机器上。
当我尝试使用
进行弹性部署时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) 创建一个新的服务帐户,并确保除了 'Storage Admin'、'Project Editor' 和 'Cloud Container Builder Editor' 之外,还添加了“App Engine Admin”或 'App Engine Deployer' 的角色服务帐户。因此,您总共应该至少为服务帐户分配 4 个角色,以及您认为您的应用程序可能需要的任何其他角色。
4) 编辑停止的实例(从步骤 1 开始)并将服务帐户更改为您创建的新服务帐户。
当您重新启动实例时,您现在应该有正确的 permissions/roles 从实例部署您的 App Engine Flex 应用程序。
存在授权问题,因为未为 Compute Engine 默认服务帐户分配将应用程序部署到 App Engine flex 所需的角色,因为在此过程中使用了各种 API。通过将 App Engine Flex 部署所需的角色分配给新的服务帐户,然后将服务帐户添加到实例,该实例便具有与 App Engine Flex 部署所需的其他 GCP API 交互所需的授权。