kubernetes上的redis群集:连接超时

gupuwyp2  于 2021-06-09  发布在  Redis
关注(0)|答案(1)|浏览(880)

我结合/遵循以下手册在kubernetes(gcp)上创建了redis集群:
https://github.com/sanderploegsma/redis-cluster
https://rancher.com/blog/2019/deploying-redis-cluster
我已经创建了3个节点,每个节点上有2个豆荚。问题是:当我从kubernetes集群外部(通过负载均衡器外部ip)连接到redis集群时,会出现连接超时。

$ redis-cli -h external_ip_lb -p 6379 -c

external_ip_lb:6379> set foo bar
-> Redirected to slot [12182] located at interal_ip_node:6379
Could not connect to Redis at interal_ip_node:6379: Operation timed out

当我进入一个正在运行的容器的shell并在那里执行redis cli命令时,它就工作了。

$ kubectl exec -it redis-cluster-0 -- redis-cli -c

127.0.0.1:6379> set foo bar
-> Redirected to slot [12182] located at internal_ip_node:6379
OK
internal_ip_node:6379> get foo
"bar"

我还尝试设置一个集群ip服务,并向我的本地机器端口7000发送一个端口,这给了我与外部ip方法相同的错误。

$ kubectl port-foward pods/redis-cluster-0 7000:6379

有没有人知道哪里会出错?显然,这与我的本地计算机不是kubernetes集群的一部分有关,因此与其他节点的内部ip的连接失败。
编辑:kubectl descripe svc redis cluster lb的输出

Name:                     redis-cluster-lb
Namespace:                default
Labels:                   <none>
Annotations:              kubectl.kubernetes.io/last-applied-configuration:
                            {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"name":"redis-cluster-lb","namespace":"default"},"spec":{"ports":[{"port"...
Selector:                 app=redis-cluster
Type:                     LoadBalancer
IP:                       internal_ip_lb
LoadBalancer Ingress:     external_ip_lb
Port:                     <unset>  6379/TCP
TargetPort:               6379/TCP
NodePort:                 <unset>  30631/TCP
Endpoints:                internal_ip_node_1:6379,internal_ip_node_2:6379,internal_ip_node_3:6379 + 3 more...
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

我可以ping外部负载平衡器的ip。

wgx48brx

wgx48brx1#

我不是redisMaven,但在redis文档中,您可以阅读:
由于群集节点无法代理请求,因此可以使用重定向错误将客户端重定向到其他节点
这就是为什么在lb后面的redis集群会有这样的问题,这也是为什么它(很可能)不起作用的原因。
您可能需要使用一些代理(例如官方redis cluster poxy),这些代理运行在k8s集群内部,可以访问redis集群的所有内部ip并处理重定向。

相关问题