第 1 章 服务绑定
本章提供有关添加到版本 2.7.5 的 Red Hat build of Quarkus 的服务绑定和工作负载投射信息,在版本 3.2 中 处于技术预览状态。
通常,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 datasource GitHub 仓库。
k8s-sb
目录是服务绑定的根目录。在本例中,只有一个名为
fruit-db
的数据库被绑定。此绑定数据库具有类型
文件,该文件将postgresql
指定为数据库类型,而 目录中的其他文件则提供必要的信息来建立连接。-
当 Red Hat build of Quarkus 项目从 OpenShift Container Platform 设定的
SERVICE_BINDING_ROOT
环境变量中获取信息时,您可以找到文件系统中存在的生成的配置文件,并使用它们将 config-file 值映射到特定扩展的属性。