【发布时间】:2018-07-12 08:26:18
【问题描述】:
我们的 CF 托管应用程序 (java) 由于数据库问题而崩溃。数据库服务 (mariaDB) 仍在运行,但我无法使用我的服务密钥和 ssh 连接到它,因为应用程序已关闭。有没有什么方法可以直接访问 Cloud Foundry 上的服务而无需运行应用程序?
我无法让应用程序再次运行,因为我无法访问数据库,并且我无法访问数据库,因为应用程序已关闭。你看到了问题。我们使用的是 Swisscom 的 CF。
【问题讨论】:
我们的 CF 托管应用程序 (java) 由于数据库问题而崩溃。数据库服务 (mariaDB) 仍在运行,但我无法使用我的服务密钥和 ssh 连接到它,因为应用程序已关闭。有没有什么方法可以直接访问 Cloud Foundry 上的服务而无需运行应用程序?
我无法让应用程序再次运行,因为我无法访问数据库,并且我无法访问数据库,因为应用程序已关闭。你看到了问题。我们使用的是 Swisscom 的 CF。
【问题讨论】:
我的发现与@SandroMathys 一致。我们借用了本指南创建了一个“空”代理应用程序:https://github.com/swisscom/docs-appcloud-service-offerings/blob/master/migrate-mariadb-to-mariadbent.html.md.erb
它的要点是:
$ git clone https://github.com/swisscom/cf-default-app-staticfile.git
$ cd cf-default-app-staticfile
$ cf push proxy-app --no-route
之后:
cf ssh打开隧道并访问服务【讨论】:
很遗憾,没有其他办法。但是,您可以将多个应用绑定到同一个服务实例,因此您可以临时推送一个小的虚拟应用。
【讨论】:
cf ssh 到特定的失败应用程序,甚至是绑定到服务的应用程序。您可以尝试 cf ssh 到您已部署的任何应用程序。这将允许您在网络上的应用程序容器中设置一个隧道,该容器应该可以访问 MySQL 服务。通过它,您应该能够使用您的服务密钥凭据访问您的 MySQL 服务。