Cloud foundry 我们真的需要在PCF中绑定Oracle服务吗,可以';我们不能只使用服务中提到的凭证吗?

Cloud foundry 我们真的需要在PCF中绑定Oracle服务吗,可以';我们不能只使用服务中提到的凭证吗?,cloud-foundry,Cloud Foundry,我有一个问题,如果我只使用PCF提供的Oracle/MySQL服务而不绑定它,有什么区别?这会造成什么不同。无论如何,我都可以使用凭据访问数据库。我想到了两个不同点: 当您通过Cloud Foundry marketplace创建服务时,这将为该服务创建支持资源,但在大多数情况下,它不会创建凭据。在大多数情况下,大多数服务代理将服务绑定到应用程序的行为实际上会为您创建服务凭据。当您解除绑定时,大多数代理都会销毁服务凭据。这使得重新生成服务凭据变得很容易,只需取消绑定/重新绑定服务并重新启动应用程

我有一个问题,如果我只使用PCF提供的Oracle/MySQL服务而不绑定它,有什么区别?这会造成什么不同。无论如何,我都可以使用凭据访问数据库。我想到了两个不同点:

  • 当您通过Cloud Foundry marketplace创建服务时,这将为该服务创建支持资源,但在大多数情况下,它不会创建凭据。在大多数情况下,大多数服务代理将服务绑定到应用程序的行为实际上会为您创建服务凭据。当您解除绑定时,大多数代理都会销毁服务凭据。这使得重新生成服务凭据变得很容易,只需取消绑定/重新绑定服务并重新启动应用程序。最终的结果是,如果不绑定,就没有凭据

  • 大多数人不希望在实际应用程序中包含凭据(请参阅了解原因的详细信息)。他们希望能够提供应用程序外部的配置。在CloudFoundry上,这通常相当于绑定服务

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

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

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

    例:

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

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