gpt4 book ai didi

kubernetes - Redis 集群客户端不适用于 GKE 上的 Redis 集群

转载 作者:可可西里 更新时间:2023-11-01 11:23:21 25 4
gpt4 key购买 nike

我的设置有一个 K8S Redis 集群,其中有 8 个节点和 32 个 pod,顶部有一个负载均衡器服务。

我正在使用 Redis 集群客户端通过负载均衡器的外部 IP 访问此集群。但是,在处理查询时,作为 Redis 集群重定向 (MOVED/ASK) 的一部分,集群客户端会收到 32 个 Pod 的内部 IP 地址,但在客户端内连接失败。

例如,我提供了负载均衡器的 IP 地址 (35.245.51.198:6379),但 Redis 集群客户端会抛出如下错误 -Caused by: redis.clients.jedis.exceptions.JedisConnectionException: 无法连接到主机 10.32.7.2:6379,这是一个内部 Pod IP。

任何关于如何处理这种情况的想法将不胜感激。

提前致谢。

最佳答案

如果您在 GKE 上运行,您可以使用 IP masquerade agent 对 Pod IP 进行 NAT :

Using IP masquerading in your clusters can increase their security by preventing individual Pod IP addresses from being exposed to traffic outside link-local range (169.254.0.0/16) and additional arbitrary IP ranges

您的具体问题是,pod 范围位于 10.0.0.0/8,默认情况下为 non-masquerade CIDR .

您可以使用 ConfigMap 更改此设置将该范围视为伪装,以便它选择节点的外部 IP 作为源地址。

或者,您可以 change the pod range in your cluster任何被掩盖的东西。

关于kubernetes - Redis 集群客户端不适用于 GKE 上的 Redis 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57162876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com