我们真的需要在PCF中绑定Oracle服务吗,我们不能只使用服务中提到的凭据吗?



我有一个问题,如果我只使用PCF提供的Oracle/MySQL服务而不绑定它,有什么区别?它会带来什么不同。我无论如何都可以使用凭据访问DB

脑海中浮现出两个差异:

  1. 当您通过Cloud Foundry市场创建服务时,这将为服务创建支持资源,但在大多数情况下,它确实而不是创建凭据。在大多数情况下,通过大多数服务代理将服务绑定到您的应用程序,实际上会为您创建服务凭据。当您解除绑定时,与大多数代理一样,服务凭据将被销毁。这使得重新生成服务凭据变得很容易,只需解除绑定/重新绑定服务并重新启动应用程序即可。最终的结果是,如果不绑定,就没有凭据。

  2. 大多数人不希望在实际应用程序中包含凭据(请参阅https://12factor.net/详细原因(。他们希望能够提供应用程序外部的配置。在Cloud Foundry上,这通常相当于绑定一个服务。

话虽如此,您希望如何向应用程序提供凭据?

服务绑定是为了让开发人员的生活更轻松,但您不必使用它们。如果你想以其他方式传递配置,比如通过环境变量、配置文件或使用配置服务(Spring Cloud config Server或Vault(,这些也是不错的选择。

如果你不想将服务绑定到你的应用程序,你唯一需要做的就是创建一个服务密钥。服务密钥类似于绑定,但与应用程序无关。它还将生成一组唯一的凭据。然后,您可以从服务密钥中获取凭据,并以最适合您的方式将其提供给您的应用程序。

例如:

cf create-service-key service-instance key-name
cf service-key service-instance key-name

第一个命令创建服务密钥,第二个命令将显示其凭据。

相关内容

最新更新