首页 > 解决方案 > 如何在 Kubernetes 中连接 Redis 服务?

问题描述

我的服务是这样的:

➜  MyProject kubectl get services
NAME                    TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)           AGE
kubernetes              ClusterIP   10.96.0.1        <none>        443/TCP           20d
my-app-srv              NodePort    10.98.114.126    <none>        3000:30001/TCP    3m49s
redis-srv               ClusterIP   10.105.200.194   <none>        6379/TCP          3m49s

我想从 my-app-srv 连接并使用 redis-srv。

为此在我的 my-app/index.js 文件中:

const redis_url = "redis://redis-srv:6379";

let REDIS_URL = redis_url;
let myStatsQueue = new Queue('statistics', REDIS_URL);

myStatsQueue.on('global:completed', (jobId, result) => {
    // console.log(`Job completed with result ${result}`);
});

但是当 pod 启动时,我收到这样的错误:

ReplyError: ERR value is not an integer or out of range
     at parseError (/app/node_modules/redis-parser/lib/parser.js:179:12)
     at parseType (/app/node_modules/redis-parser/lib/parser.js:302:14) {
     command: { name: 'select', args: [ 'NaN' ] }
 }

连接字符串错了吗?或者问题出在哪里?如何正确连接此 Redis 服务。

标签: node.jskubernetesrediskubectl

解决方案


推荐阅读