我的节点 js 应用程序抛出连接超时以连接 Redis 实例。我曾尝试将 redis 实例作为单独的部署以及内存存储 redis 实例来启动。作为 pod 中的部署,我使用普通节点端口并尝试使用集群 ip 访问此实例。该 ip 在 Config Map 中。
我试图从node js应用程序的pod中ping内存存储的ip以及gke上redis部署的集群ip,但它没有连接。
由于redis实例的部署也得到了内部ip:10.0.231.4
没有任何效果
内存存储:
gcloud redis instances describe my-redis --region=us-central1
Response:
authorizedNetwork: projects/xxxxx/global/networks/xxxxx
createTime: '2019-09-03T13:39:36.050896298Z'
currentLocationId: us-central1-a
host: 10.0.48.3
locationId: us-central1-a
memorySizeGb: 2
name: projects/xxxxx/locations/us-central1/instances/transact-redis
persistenceIamIdentity: serviceAccount:xxxxxxxxxxx-compute@developer.gserviceaccount.com
port: 6379
redisVersion: REDIS_4_0
reservedIpRange: 10.0.48.0/29
state: READY
tier: BASIC
我也从 cloud shell 尝试在 6379 端口上远程登录到 10.0.48.3。它也失败了。
这是日志:
2019-09-04 17:20:01.164 CEST at Socket.emit (events.js:209:13)
2019-09-04 17:20:01.164 CEST at emitErrorNT (internal/streams/destroy.js:91:8)
2019-09-04 17:20:01.164 CEST at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
2019-09-04 17:20:01.164 CEST at processTicksAndRejections (internal/process/task_queues.js:77:11) {
2019-09-04 17:20:01.164 CEST errno: 'ETIMEDOUT',
2019-09-04 17:20:01.164 CEST code: 'ETIMEDOUT',
2019-09-04 17:20:01.164 CEST syscall: 'connect',
2019-09-04 17:20:01.164 CEST address: '10.0.48.3',
2019-09-04 17:20:01.164 CEST port: 6379
2019-09-04 17:20:01.164 CEST}
2019-09-04 17:20:06.565 CESTContainer called exit(1).
知道如何使它工作吗?提前致谢。