簡體   English   中英

刪除 Google Cloud 項目中的所有資源

[英]Delete all resources in a Google Cloud Project

我的項目之一包含許多資源,這些資源是從不同來源創建的,意味着一些來自 Deployment Manager API,一些來自用戶的控制台。我需要刪除所有資源而不刪除(關閉)項目。在這種情況下,是否有任何API 可以刪除此項目中所有資源的端點,包括從 Deployment Manager 和控制台創建的資源?

我編寫了Safe Scrub 就是為了做到這一點:清理整個 Google Cloud 中的資源,包括 GCE、AppEngine、GKE、CloudSQL 等。

它注重安全。 例如,它實際上並沒有刪除任何資源,而是生成一個您可以查看和運行的腳本(刪除命令列表)。

反饋表示贊賞。

我不認為這樣的事情存在,如果有人可以點擊一個按鈕並關閉/刪除項目中的所有內容,那將是非常危險的,如果您在此方面犯了錯誤,您將處於我不想要的位置想一下。

一種做你想做的事情就像一個 bash 腳本,它會使用 gcloud 命令來刪除你需要刪除的內容。

有人已經嘗試過但沒有走多遠: https : //github.com/enxebre/bazooka

就像夜金在First Answer中所說的,現在沒有API端點來刪除項目內的所有資源。 我和谷歌雲工程師討論過,他的回復是:

“您將能夠通過刪除部署本身來刪除部署管理器資源。用戶通過控制台創建的資源必須單獨處理。您可以自動刪除用戶創建的資源。一些建議的工具用於完成此操作使用 Chef、Puppet、Ansible、Terraform 和/或 shell 腳本。”

您可以使用部署 API 的列表方法來收集所有部署,然后使用刪除方法刪除部署和所有資源。

使用適當的 IAM 配置,以下是刪除給定項目的所有端點的方法:

#!/bin/bash
# 
# A script to delete all endpoints for a given project
# Usage: ./delete-endpoints.sh project-id

PROJECT=$1

ENDPOINTS=($(gcloud --project=${PROJECT} endpoints services list --format="value(serviceName)"))
for i in "${ENDPOINTS[@]}"
do
        gcloud -q endpoints services delete $i --async
done

類似的腳本可以使用gcloud刪除各種資源

在我的項目中,我們使用了cats-love-money ,這是一個簡單的腳本來刪除昂貴的GCP 資源(composer、GKE、Dataprocs)。 默認情況下,我們會刪除早於 24 小時且沒有please-do-not-kill-me標簽的所有內容。

它可以使用雲功能和調度程序按計划部署。 它為我們節省了大量現金。

其實你可以這樣做。 只需轉到“IAM 和管理”->“管理資源”。 這將帶您進入項目的管理屏幕,您可以刪除它們、查看賬單等。

我寫了另一個項目Cloud Blaster來做這件事:清理整個 Google Cloud 中的資源,包括 GCE、AppEngine、GKE、CloudSQL 等。

與上面答案中提到的我的 shell 腳本 SafeScrub 不同,它位於 Kotlin 中,因此更靈活,更易於更改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM