3.4.6.2. 在组件之间创建绑定连接
服务绑定只是一个技术预览功能。红帽产品服务等级协议 (SLA) 不支持技术预览功能,且可能无法完成。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的详情,请参阅 https://access.redhat.com/support/offerings/techpreview/。
目前,只有几个特定的 Operator(如 etcd 和 PostgresSQL Database)的 Operator 服务实例可以绑定。
您可以与 Operator 支持的组件建立绑定连接。
此流程介绍了在 PostgreSQL 数据库服务和 Node.js 应用程序间创建绑定连接的示例。要创建与 PostgreSQL Database Operator 支持的服务的绑定连接,必须首先使用 CatalogSource
资源将红帽提供的 PostgreSQL Database Operator 添加到 OperatorHub,然后安装 Operator。然后,PostSQL Database Operator 会创建和管理 Database
资源,这会在 secret、配置映射、状态和 spec 属性中公开绑定信息。
先决条件
- 确保您已使用 Developer 视角创建并部署了 Node.js 应用程序。
- 确保已从 OperatorHub 安装 Service Binding Operator。
流程
创建一个
CatalogSource
资源,将红帽提供的 PostgresSQL Database Operator 添加到 OperatorHub。- 在 +Add 视图中,点 YAML 选项查看 Import YAML 屏幕。
添加以下 YAML 文件以应用
CatalogSource
资源:apiVersion: operators.coreos.com/v1alpha1 kind: CatalogSource metadata: name: sample-db-operators namespace: openshift-marketplace spec: sourceType: grpc image: quay.io/redhat-developer/sample-db-operators-olm:v1 displayName: Sample DB OLM registry updateStrategy: registryPoll: interval: 30m
-
点击 Create 在集群中创建
CatalogSource
资源。
安装红帽提供的 PostgreSQL Database Operator:
-
在控制台的 Administrator 视角中,进入 Operators
OperatorHub。 - 在 Database 类别中,选择 PostgreSQL Database Operator 并安装它。
-
在控制台的 Administrator 视角中,进入 Operators
为应用程序创建数据库 (DB) 实例:
-
切换到 Developer 视角,并确保您处于适当的项目中,例如
test-project
。 - 在 +Add 视图中,点 YAML 选项查看 Import YAML 屏幕。
在编辑器中添加服务实例 YAML,并点击 Create 部署该服务。服务 YAML 将如以下示例所示:
apiVersion: postgresql.baiju.dev/v1alpha1 kind: Database metadata: name: db-demo spec: image: docker.io/postgres imageName: postgres dbName: db-demo
DB 实例现在部署在 Topology 视图中。
-
切换到 Developer 视角,并确保您处于适当的项目中,例如
- 在 Topology 视图中,将鼠标悬停在 Node.js 组件上可看到节点上悬浮的箭头。
点击箭头并拖向 db-demo-postgresql 服务,以便与 Node.js 应用程序进行绑定连接。服务绑定请求被创建,Service Binding Operator 控制器会将 DB 连接信息作为环境变量注入应用程序部署中。请求成功后,会重新部署应用程序并建立连接。
图 3.5. 绑定连接器