Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Redis Sentinel的Kubernetes服务不会返回Redis Master IP&;港口始终如一_Redis_Kubernetes_Node Redis_Redis Cluster_Kubernetes Helm - Fatal编程技术网

Redis Sentinel的Kubernetes服务不会返回Redis Master IP&;港口始终如一

Redis Sentinel的Kubernetes服务不会返回Redis Master IP&;港口始终如一,redis,kubernetes,node-redis,redis-cluster,kubernetes-helm,Redis,Kubernetes,Node Redis,Redis Cluster,Kubernetes Helm,Redis Sentinel没有一致地返回Redis Master IP和端口,所有的POD都在docker容器中。 我都用过, -redis群集 当我连接到Kubernetes服务(10.3.251.15226379/TCP)时,它应该确定Redis Sentinel主机(ip:'10.0.0.68',端口:'6379'),然后与它建立连接。但有时,Kubernetes服务返回(ip:'10.0.0.68',端口:'6379'),有时,它返回Kubernetes服务(10.3.251.1522

Redis Sentinel没有一致地返回Redis Master IP和端口,所有的POD都在docker容器中。 我都用过, -redis群集

当我连接到Kubernetes服务(10.3.251.15226379/TCP)时,它应该确定Redis Sentinel主机(ip:'10.0.0.68',端口:'6379'),然后与它建立连接。但有时,Kubernetes服务返回(ip:'10.0.0.68',端口:'6379'),有时,它返回Kubernetes服务(10.3.251.15226379/TCP)作为哨兵主ip。这是我们在与哨兵大师的联系中可以看到的

在这两种情况下(kubernetes sentinel示例,helm.sh的redis集群)都会发生这种不一致性

您可以在这里查看服务和pod详细信息

如何进行故障排除

useRedisSentinel  true
redisSentinelHost  10.3.251.152 redisSentinelPort  26379
Queueing psubscribe for next server connection.
sentinelClient  { domain: null,
  _events: 
   { 'sentinel disconnected': [Function],
     'failover start': [Function],
     'switch master': [Function] },
  _maxListeners: undefined,
  options: 
   { master_debug: true,
     port: '26379',
     host: '10.3.251.152',
    and so on .. 
   }
  }
有关主/从/哨兵详细信息的更多详细信息

masters  [ { name: 'mymaster',
    ip: '10.0.0.68',
    port: '6379',
    runid: '33798857c71ebf2c85c7095291d453cb143cea7e',
    flags: 'master',
    'pending-commands': '0',
    'last-ok-ping-reply': '0',
    'last-ping-reply': '518',
    'info-refresh': '518',
    'num-slaves': '60000',
    'num-other-sentinels': '9021',
    quorum: 'master' } ]
mymaster slaves  [ { name: '10.0.0.70:6379',
    ip: '10.0.0.70',
    port: '6379',
    runid: 'ce2330d9071e091e8d808017d761cbdae1d286b9',
    flags: 'slave',
    'pending-commands': '0',
    'last-ok-ping-reply': '0',
    'last-ping-reply': '518',
    'info-refresh': '518',
    'master-link-down-time': '60000',
    'master-link-status': '9021',
    'master-host': 'slave',
    'master-port': '33297880',
    'slave-priority': '0' },
  { name: '10.0.0.69:6379',
    ip: '10.0.0.69',
    port: '6379',
    runid: 'a1e063c71a4ef93a8c5769aa29cb1d8dbf669579',
    flags: 'slave',
    'pending-commands': '0',
    'last-ok-ping-reply': '0',
    'last-ping-reply': '518',
    'info-refresh': '518',
    'master-link-down-time': '60000',
    'master-link-status': '9021',
    'master-host': 'slave',
    'master-port': '33297888',
    'slave-priority': '0' } ]
mymaster sentinels  [ { name: '10.0.0.71:26379',
    ip: '10.0.0.71',
    port: '26379',
    runid: '6f787783753fa446c6ecb118d07339d51f1fda14',
    flags: 'sentinel',
    'pending-commands': '0',
    'last-ok-ping-reply': '0',
    'last-ping-reply': '518',
    'last-hello-message': '518',
    'can-failover-its-master': '60000' },
  { name: '10.0.0.68:26379',
    ip: '10.0.0.68',
    port: '26379',
    runid: '7542fbbb0c36c4d171c10b492f67a416d794fc96',
    flags: 'sentinel',
    'pending-commands': '0',
    'last-ok-ping-reply': '0',
    'last-ping-reply': '518',
    'last-hello-message': '518',
    'can-failover-its-master': '60000' } ]
mymaster getMasterAddress  { ip: '10.0.0.68', port: '6379' }

如何进行故障排除?

该服务将始终返回您的一个Sentinel(如DNS循环)。如果我没弄错的话,该服务有时还会返回Redis IP和端口。由于服务端点(
kubectl get endpoints
)是通过标签选择的,因此您应该检查您的服务和pod定义。该服务将始终返回您的一个哨兵(如DNS循环)。如果我没弄错的话,该服务有时还会返回Redis IP和端口。由于服务端点(
kubectl get endpoints
)是通过标签选择的,因此您应该检查您的服务和pod定义。