3.5.6. odo link
odo link
命令帮助将 odo
组件链接到由 Operator 支持的服务或另一个 odo
组件。它通过使用 Service Binding Operator 来达到此目的。目前,odo
使用 Service Binding 库,而不是 Operator 本身来实现所需的功能。
3.5.6.1. 各种链接选项
odo
提供了不同的选项,用来将组件链接到 Operator 支持的服务或另一个 odo
组件。无论您将组件链接到服务还是另一个组件,都可以使用这些选项(或标志)。
3.5.6.1.1. 默认行为
默认情况下,odo link
命令在组件目录中创建一个名为 kubernetes/
的目录,并在其中存储有关服务和链接的信息(YAML 清单)。当使用 odo push
时,odo
会将这些清单与 Kubernetes 集群上的资源状态进行比较,并决定是否需要创建、修改或销毁资源以匹配用户指定的内容。
3.5.6.1.2. --inlined
标记
如果在 odo link
命令中指定 --inlined
标志,odo
会将 devfile.yaml
中的链接信息存储在组件目录中,而不是在 kubernetes/
目录下创建一个文件。--inlined
标记的行为与 odo link
和 odo service create
命令相似。如果您希望在一个 devfile.yaml
中存储的所有内容,则此标志很有用。您必须记住在每个 odo link
和 odo service create
命令中使用 --inlined
标志。
3.5.6.1.3. --map
标志
有时,除了默认可用的组件外,您可能还想向组件添加更多绑定信息。例如,如果您将组件链接到服务,并希望从服务的 spec 中绑定一些信息(用于规格的缩写),您可以使用 --map
标志。请注意,odo
不会针对所链接的服务或组件的 spec 进行任何验证。只有在您熟悉 Kubernetes YAML 清单时,才建议使用这个标志。
3.5.6.1.4. --bind-as-files
标志
对于目前讨论的所有链接选项,odo
会将绑定信息作为环境变量注入组件。如果您想要将这些信息挂载为文件,您可以使用 --bind-as-files
标志。这可让 odo
将绑定信息作为文件注入到组件的 Pod 中的 /bindings
位置。与环境变量方案相比,当您使用 --bind-as-files
时,文件会以键命名,并且这些键的值存储为这些文件的内容。