第 1 章 服务绑定
弃用 OpenShift Service Binding Operator
OpenShift Service Binding Operator 在 OpenShift Container Platform (OCP) 4.13 及更新的版本中已弃用,计划在以后的 OCP 发行版本中删除。
以下章节提供有关添加到 Red Hat build of Quarkus in version 2.7.5 的服务绑定和工作负载预测的信息,它们是版本 3.15 中的技术预览状态。https://access.redhat.com/support/offerings/techpreview/
通常,OpenShift 应用程序和服务也称为可部署工作负载,需要连接到其他服务来检索其他信息,如服务 URL 或凭证。
Service Binding Operator 有助于检索必要的信息,然后通过环境变量(如 quarkus-kubernetes-service-binding
扩展)获得应用程序和服务绑定扩展,而无需直接影响或确定扩展工具本身的使用。
Quarkus 支持 Kubernetes 的服务绑定规格 将服务绑定到应用程序。
具体来说,Quarkus 实施规范中的 工作负载投射 部分,使应用程序能够绑定到数据库或代理等服务,只需要最少的配置。
要为可用的扩展启用服务绑定,请在应用程序依赖项中包含 quarkus-kubernetes-service-binding
扩展。
您可以对服务绑定和工作负载投射使用以下扩展:
1.1. 工作负载投射
工作负载投射是从 Kubernetes 集群获取服务配置的过程。此配置采用遵循某些约定的目录结构的形式,并作为挂载卷附加到应用程序或服务中。
kubernetes-service-binding
扩展使用此目录结构来创建配置源,允许您配置其他模块,如数据库或消息代理。
您可以在应用程序开发过程中使用工作负载投射,将应用程序连接到开发数据库或其他本地运行服务,而无需更改应用程序代码或配置。
有关测试资源中包含目录结构并传递给集成测试的工作负载投射示例,请参阅 Kubernetes Service Binding 数据源 GitHub 存储库。
k8s-sb
目录是所有服务绑定的根目录。在本例中,只有一个名为
fruit-db
的数据库会被绑定。此绑定数据库具有类型
文件,它将postgresql
指定为数据库类型,而目录中的其他文件则提供必要的信息来建立连接。-
当 Red Hat build of Quarkus 项目从 OpenShift Container Platform 设置的
SERVICE_BINDING_ROOT
环境变量中获取信息时,您可以找到文件系统中存在的生成的配置文件,并使用它们将 config-file 值映射到特定扩展的属性。