声明的服务和 manifest.yml 中的服务有什么区别?

What is difference between declared-services and service in manifest.yml?

在部署在 cloud foundry PaaS 上的 django 应用程序的 manifest.yml 中,我可以看到有两个服务标签:declared-servicesservices。我想知道有什么区别,对于 Oracle 数据库,实际服务绑定是什么?

 declared-services:
   oracle_db:
      label: oracle-ods
      plan: shared-nr
 services:
    - applogger
    - oracle_ods
    - odsui-kerberos-sso 

应用程序 manifest.yml 文件中的 services 标记向 Cloud Foundry CLI 指示应为此清单将哪些服务绑定到应用程序。

在您的示例中,它将确保绑定了三个服务,并且这些服务的名称为 apploggeroracle_odsodsui-kerberos-sso。这些服务必须存在,因为 cf cli 不会为您提供它们。

我不相信 declared_services 是 cf cli 支持的官方 属性。它没有记录在下面的 link 中(至少在我写这篇文章的时候没有),其中记录了所有官方支持的属性。

https://docs.cloudfoundry.org/devguide/deploy-apps/manifest.html

我想可能有其他东西在读取和使用应用程序的 manifest.yml 文件,但这不是 Cloud Foundry 的标准部分。例如,它可能是使用此 属性 的某些特定于提供商的扩展或备用 cli。如果它是提供商特定的扩展,您需要与提供商确认它的作用。

希望对您有所帮助!