【问题标题】:Access CF service without running app在不运行应用程序的情况下访问 CF 服务
【发布时间】:2018-07-12 08:26:18
【问题描述】:

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

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

【问题讨论】:

    标签: cloud-foundry swisscomdev


    【解决方案1】:

    我的发现与@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
    

    之后:

    • 将“proxy-app”绑定到您的服务(例如数据库)
    • 创建服务密钥
    • 照常使用cf ssh打开隧道并访问服务

    【讨论】:

      【解决方案2】:

      很遗憾,没有其他办法。但是,您可以将多个应用绑定到同一个服务实例,因此您可以临时推送一个小的虚拟应用。

      【讨论】:

      • 我不确定您是否真的需要 cf ssh 到特定的失败应用程序,甚至是绑定到服务的应用程序。您可以尝试 cf ssh 到您已部署的任何应用程序。这将允许您在网络上的应用程序容器中设置一个隧道,该容器应该可以访问 MySQL 服务。通过它,您应该能够使用您的服务密钥凭据访问您的 MySQL 服务。
      • @DanielMikusa 这将不起作用,因为安全组将阻止访问,除非应用程序绑定到服务实例(然后重新暂存,以使安全组更改生效)。
      • @SandroMathys 错了! MariaDB 使用全局安全组。 Daniel 描述的解决方案效果很好
      猜你喜欢
      • 2017-03-13
      • 1970-01-01
      • 1970-01-01
      • 2019-07-25
      • 2021-09-02
      • 1970-01-01
      • 2023-04-02
      • 2011-12-11
      • 1970-01-01
      相关资源
      最近更新 更多