Cloud foundry 在不运行应用程序的情况下访问CF服务

Cloud foundry 在不运行应用程序的情况下访问CF服务,cloud-foundry,swisscomdev,Cloud Foundry,Swisscomdev,我们的CF托管应用程序(java)因数据库问题而崩溃。数据库服务(mariaDB)仍在运行,但我无法使用我的服务密钥和ssh连接到它,因为应用程序已关闭。有没有办法直接访问cloud foundry上的服务而无需运行应用程序 我无法使应用程序再次运行,因为我无法访问数据库,也无法访问数据库,因为应用程序已关闭。你看到问题了。我们正在使用Swisscom的CF.不幸的是,没有其他方法。但是,您可以将多个应用程序绑定到同一个服务实例,以便临时推送一个小型虚拟应用程序。我的发现与@SandroMath

我们的CF托管应用程序(java)因数据库问题而崩溃。数据库服务(mariaDB)仍在运行,但我无法使用我的服务密钥和ssh连接到它,因为应用程序已关闭。有没有办法直接访问cloud foundry上的服务而无需运行应用程序


我无法使应用程序再次运行,因为我无法访问数据库,也无法访问数据库,因为应用程序已关闭。你看到问题了。我们正在使用Swisscom的CF.

不幸的是,没有其他方法。但是,您可以将多个应用程序绑定到同一个服务实例,以便临时推送一个小型虚拟应用程序。

我的发现与@SandroMathys一致。我们根据本指南创建了一个“空”代理应用程序:

其要点是:

$ 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服务。@DanielMikusa不会作为安全组工作,它将阻止访问,除非应用程序绑定到服务实例(并随后重新启动,以便安全组更改生效)。@SandroMathys错了!MariaDB使用一个全局安全组。Daniel描述的解决方案工作得非常好