删除特定 space 中的所有应用和服务

Delete all apps and services in specific space

是否有铸造脚本或命令来清理所有 space apps/services,问题是我们有很多与 服务 和你相关的应用程序在删除所有应用程序之前无法删除它们,是否有任何脚本或命令可以帮助?

我不想对所有应用程序和 服务进行硬编码,有没有办法针对给定的 space 删除所有应用程序和 服务实例? 是否可以批量删除服务?

您无法一次性删除 Cloudfoundry 中的所有应用程序。 Cloudfoundry文档没有说明删除所有App的方法。

您可以在cloudfoundry 中一次删除一个应用程序。请参考下面link删除APPClick here

许多应用程序使用服务和路线。删除应用不会删除该应用使用的服务,您必须明确删除您的应用与互联网之间的路由。

最简单的方法是 cf delete-space,等待它完成,然后 cf create-space 重新制作您的 space。 cf delete-space 是递归的,因此它会删除 space.

中的所有内容

唯一的挑战可能是如果您有很多人被邀请到您的 space,这将删除 space,因此他们的访问权限将被删除,您需要在之后将其添加回来你重新创建 space.


除此之外,您还需要编写脚本。

我会试试这个顺序:

  • 抓取 space
  • 中的所有应用
  • 对于每个应用程序
    • 删除应用程序(这也应该删除服务绑定)
  • 获取 space 中的所有服务实例
    • 如果您使用服务密钥,对于每项服务
      • 检查服务密钥,如果存在则删除它们
    • 对于每个服务实例,删除实例
  • 运行cf delete-orphaned-routes,那应该清理所有留下的路由

或者,您可以在删除应用程序时使用 cf delete -r,它也会删除关联的路线。

至于如何获得 "all the apps" 或 "all the services",您可以执行类似 cf apps | tail +5 | awk '{print }'cf services | tail +4 | awk '{print }' 的操作,或者您可以使用 cf curl 和API。 API 会有点棘手,因为你必须处理分页(或者可能不需要,如果你没有那么多 apps/services)。