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

问题描述 投票:0回答:2

是否有铸造厂脚本或命令来清理所有空间应用程序/服务,问题是我们有许多与服务相关的应用程序,在删除所有应用程序之前您无法删除它们,是否有任何脚本或命令哪个可以帮助?

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

cloudfoundry pivotal-cloud-foundry
2个回答
0
投票
您无法一次从Cloudfoundry中删除所有应用程序。 Cloudfoundry文档未说明删除所有App的方法。

您可以一次在cloudfoundry中删除一个应用程序。请参考下面的链接删除一个APP。Click here

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


0
投票
最简单的方法是cf delete-space,等待完成,然后再按cf create-space重新创建您的空间。 cf delete-space是递归的,因此它将删除该空间中的所有内容。

唯一的挑战可能是,如果您邀请了很多人加入您的空间,这将删除该空间,因此他们的访问权限将被删除,并且您需要在重新创建空间后将其添加回去。


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

我会尝试此命令:

    抓住空间中的所有应用
  • 对于每个应用
    • 删除应用程序(这也应该删除服务绑定)
  • 抢占该空间中的所有服务实例
    • 如果您使用服务密钥,则对于每个服务
      • 检查服务密钥,如果存在请删除它们
  • 对于每个服务实例,删除实例
  • 运行cf delete-orphaned-routes,应该清理掉所有遗留的路由
  • 或者,删除应用程序时可以使用cf delete -r,它也会删除关联的路由。

    关于如何获得“所有应用”或“所有服务”,您可以执行cf apps | tail +5 | awk '{print $1}'cf services | tail +4 | awk '{print $1}'之类的操作,也可以使用cf curl和API。但是,API会有点棘手,因为您必须处理分页(如果没有那么多的应用程序/服务,则可能不需要)。

    希望有帮助!

  • © www.soinside.com 2019 - 2024. All rights reserved.