我的一个项目包含许多资源,这些资源是从不同的资源创建的,这意味着某些资源是通过Deployment Manager API生成的,而有些则是用户通过控制台生成的。我需要删除所有资源,而无需删除(关闭)该项目。在这种情况下,是否有任何API端点可以删除此项目中的所有资源,包括从Deployment Manager和控制台创建的所有资源?
答案 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)
答案 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 和管理”->“管理资源”。这会将您带到项目的管理屏幕,您可以删除它们、查看帐单等。