删除Google Cloud Project中的所有资源

时间:2018-09-19 14:38:28

标签: google-cloud-platform

我的一个项目包含许多资源,这些资源是从不同的资源创建的,这意味着某些资源是通过Deployment Manager API生成的,而有些则是用户通过控制台生成的。我需要删除所有资源,而无需删除(关闭)该项目。在这种情况下,是否有任何API端点可以删除此项目中的所有资源,包括从Deployment Manager和控制台创建的所有资源?

7 个答案:

答案 0 :(得分:2)

我写了Safe Scrub就是为了做到这一点:从Google Cloud中清除资源,包括GCE,AppEngine,GKE,CloudSQL等。

它注重安全性。例如,它实际上并没有删除任何资源,而是生成了一个可以查看和运行的脚本(删除命令列表)。

感谢您的反馈。

答案 1 :(得分:1)

我认为不存在类似的东西,如果有人可以单击一个按钮并关闭/删除项目中的所有内容,那将是非常危险的,如果您对此操作有误,那么您处于我不希望的位置不想考虑。

一种执行所需操作的方法是类似于bash脚本,该脚本将使用gcloud命令删除需要删除的内容。

有人已经尝试过但没有走得很远:https://github.com/enxebre/bazooka

答案 2 :(得分:1)

就像《暗夜金刚》(First Answer)中所说的那样,现在没有API端点可以删除项目中的所有资源。我与Google Cloud Engineer进行了讨论,他的回答是:

“您将能够通过删除部署本身来删除Deployment Manager资源。必须单独解决用户通过控制台创建的资源。您可以自动删除用户制作的资源。一些建议的工具来完成这将使用Chef,Puppet,Ansible,Terraform和/或Shell脚本。”

答案 3 :(得分:0)

您可以使用Deployment API的list方法来收集所有部署,然后使用delete方法来收集部署和所有资源。

答案 4 :(得分:0)

使用适当的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

删除各种资源

答案 5 :(得分:0)

在我的项目中,我们使用 cats-love-money,这是一个简单的脚本来删除昂贵的 GCP 资源(composer、GKE、Dataprocs)。默认情况下,我们会删除早于 24 小时且没有 please-do-not-kill-me 标签的所有内容。

它可以使用云功能和调度程序按计划部署。它为我们节省了大量现金。

答案 6 :(得分:0)

其实你可以这样做。只需转到“IAM 和管理”->“管理资源”。这会将您带到项目的管理屏幕,您可以删除它们、查看帐单等。