Cloud foundry 将服务绑定到cloudfoundry中的两个不同应用程序空间

Cloud foundry 将服务绑定到cloudfoundry中的两个不同应用程序空间,cloud-foundry,swisscomdev,Cloud Foundry,Swisscomdev,是否可以将服务(即MariaDB)绑定到不同空间中的应用程序?如果我想为两个不同的空间使用同一个数据库,如何实现这一点?目前我们不支持。我们已经做了必要的代码更改并对其进行了测试(ServiceBroker),但没有在prd上推出它,因为该功能目前处于测试阶段 在共享空间之间共享服务实例允许应用程序在不同的空间中运行 共享数据库、消息队列和其他类型的共享空间 服务。这消除了开发团队使用 服务密钥和用户提供的服务,以将其应用程序绑定到同一应用程序 使用cf create service 指挥部。共

是否可以将服务(即MariaDB)绑定到不同空间中的应用程序?如果我想为两个不同的空间使用同一个数据库,如何实现这一点?

目前我们不支持。我们已经做了必要的代码更改并对其进行了测试(ServiceBroker),但没有在prd上推出它,因为该功能目前处于测试阶段

在共享空间之间共享服务实例允许应用程序在不同的空间中运行 共享数据库、消息队列和其他类型的共享空间 服务。这消除了开发团队使用 服务密钥和用户提供的服务,以将其应用程序绑定到同一应用程序 使用
cf create service
指挥部。共享服务实例提高了安全性、审核和性能 提供更直观的用户体验

当此功能通常可从上游获得时,请参阅此以了解更多信息。

我尝试了来自的解决方案。 如果运行第一个命令,则会出现以下错误:

$ cf enable-feature-flag service_instance_sharing
    Server error, status code: 403, error code: 10003, message: You are not authorized to perform the requested action
第二个命令起作用,现在我可以在仪表板上的空格B中看到服务

$ cf share-service SERVICE-INSTANCE -s OTHER-SPACE [-o OTHER-ORG] 


注意:如果我单击仪表板上的服务,它会显示:这是一个共享服务。它只能在共享空间中访问。该服务也显示为灰色。

您可以在两个不同的空间/组织中使用相同的服务实例 如下:

(一)


2)

在获得适当的支持之前,您可以使用
cf cups
和用户提供的服务作为解决方法。它没有实际功能那么好,但基本上创建一个服务,就像您通常使用
cf create service
创建服务密钥一样,然后在第二个空间中使用
cf cups
创建一个用户提供的服务,其中包含来自服务密钥的信息。希望有帮助@DanielMikusa这适用于MariaDB,但不适用于基于容器的服务,如MongoDB和Redis。Swisscom生成空间受限的安全组。MariaDB使用全局安全组。我的MariaDB是在第一个空间中创建的。现在,我尝试在我的第二个空间中创建一个用户提供的服务,使用我的第一个空间的MariaDB的凭据,使用以下命令:cf cups MariaDB_cups_SPACE2-p“host,username,password,database,port”。之后,我将创建的MariaDB_CUPS_SPACE2服务绑定到第二个空间的应用程序。对我来说,这不起作用,但也许我理解错了什么?对不起,上面的解决方案是正确的。除此之外,上面的所有内容都可以正常工作,但我必须首先解除旧数据库连接的绑定:-)