簡體   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