为什么pivotal cloud foundry在删除对应的app时不删除路由?

Why does pivotal cloud foundry does not remove a route when a corresponding app is deleted?

我一直在探索 Pivotal Cloud Foundry - Public 云版本,方法是设置一个 Pivotal Web 服务帐户。 在探索 CF CLI 时,我遵循了以下教程。 https://pivotal.io/platform/pcf-tutorials/getting-started-with-pivotal-cloud-foundry/introduction

我能够成功将示例 spring 引导应用程序推送到 PCF 云并按照教程进行操作。

当我开始使用它时,我尝试使用以下命令删除该应用程序。 cf-spring 是我的应用名称。

cf 删除 cf-spring

导航到我的 Pivotal Web 服务帐户时,我可以看到该应用程序已被删除。该路由仍然显示使用 cf push 命令创建应用程序时创建的路由名称。

所以我尝试使用以下命令删除路由。

它不允许我使用 CLI 删除? app delete 命令是否应该注意删除与应用程序关联的相关路由?

尝试cf delete-route -h查看删除路由命令的语法。

您可能想要 运行 cf delete-route cfapps.io --hostname cf-spring-rested-platypus

在最新版本的 cf-cli 中,您还可以 运行 cf delete-orphaned-routes.

认为 当您删除应用程序时 CF 没有完全删除路由的原因是它保留了主机名供您使用,即:其他人不能在另一个组织或 space 中重复使用它,如果您刚刚删除您的应用程序进行刷新。当您实际上想在另一个 space 中重用主机名时,这有点烦人,但考虑到多租户功能,保留它们是有意义的 intact/reserved.

cf delete APP_NAME 不会删除绑定到应用程序的路由,这首先不应该发生。因为 Cloud foundry 中的路由器概念是

One App can have Multiple Routes and Multiple Routes can be configured to one App.

它是多对一的映射。所以你创建的路由有可能仍然会映射到另一个应用程序并且它会成为孤立的路由,只是当该路线没有应用程序时..

所以这是一个慎重的决定,也是一个明智的决定!!