首页 > 解决方案 > 如何使用 rethinkdbdash 在 Openshift 中连接 rethinkdb

问题描述

有人可以帮助使用 rethinkdbdash 在 openshift 中连接到 rethinkdb

我已经在 openshift 中部署了 rethinkdb 并创建了 3 个 clusterIP 服务
1.8080 - 管理员
2.29015 - 集群内通信
3.28015 - 客户端连接

我创建了一个针对客户端连接 clusterIP 服务(端口 28015)的路由,
我尝试从客户端使用它,如下所示

 const r = require('rethinkdbdash')({  
  cursor: true,  
  silent: true,  
  host: rethink-client.test.exchange.com,    
  port: 80  
 )}

我得到以下错误

     data: Timeout during operation
(node:5739) UnhandledPromiseRejectionWarning: Error: Cannot wrap non-Error object

客户路线

标签: openshiftrethinkdbrethinkdb-javascriptrethinkdb-pythonrethinkdbdash

解决方案


您应该使用NodePortLoadBalancer键入Services将您的数据库连接公开给外部而不是Route. 因为Route不支持TCP协议。请参阅此处了解支持的协议。例如 mysql db,在Using a NodePort to Get Traffic into the Cluster中提供了更多详细信息。

apiVersion: v1
kind: Service
metadata:
  name: mysql
  labels:
    name: mysql
spec:
  type: NodePort
  ports:
    - port: 3306
      nodePort: 30036
      name: http
  selector:
    name: mysql

推荐阅读