redis - Redis 集群 HA 在 Kubernetes 中不起作用
问题描述
https://github.com/bitnami/charts/tree/master/bitnami/redis-cluster
我使用以下命令进行部署
helm install redis-cluster bitnami/redis-cluster --create-namespace -n redis -f redis-values.yaml
redis-values.yaml
cluster:
init: true
nodes: 6
replicas: 1
podDisruptionBudget:
minAvailable: 2
persistence:
size: 1Gi
password: "redis@pass"
redis:
configmap: |-
maxmemory 600mb
maxmemory-policy allkeys-lru
maxclients 40000
cluster-require-full-coverage no
cluster-allow-reads-when-down yes
sysctlImage:
enabled: true
mountHostSys: true
command:
- /bin/sh
- -c
- |-
insta
sysctl -w net.core.somaxconn=10000
echo never > /host-sys/kernel/mm/transparent_hugepage/enabled
# echo never > /host-sys/kernel/mm/transparent_hugepage/defrag
metrics:
enabled: true
现在集群工作正常,但问题只是如果我将删除任何 pod 然后 redis 崩溃我开始收到 redis 错误。
这是我用于连接 quarkus 的配置:
quarkus.redis.hosts=redis://redis-cluster.redis.svc.local:6379
quarkus.redis.master-name=redis-cluster
quarkus.redis.password=redis@pass
quarkus.redis.client-type=cluster
解决方案
不连接服务,但使用节点从
quarkus.redis.hosts=redis://redis-cluster:6379
至
quarkus.redis.hosts=redis://redis-cluster-0.redis-cluster-headless.redis.svc.cluster.local:6379,redis://redis-cluster-1.redis-cluster-headless.redis.svc.cluster.local:6379,redis://redis-cluster-2.redis-cluster-headless.redis.svc.cluster.local:6379,redis://redis-cluster-3.redis-cluster-headless.redis.svc.cluster.local:6379,redis://redis-cluster-4.redis-cluster-headless.redis.svc.cluster.local:6379,redis://redis-cluster-5.redis-cluster-headless.redis.svc.cluster.local:6379
主机格式如下:
POD-NAME.HEADLESS-SVC-NAME.NAMESPACE.svc.cluster.local:PORT
推荐阅读
- sql - 语法不正确,在 SQL 中应为 '('
- python - 声明列表时的Python扩展列表
- python - 使用 NumPy 求和,其中 j != i
- ionic-framework - 无法添加cordova-plugin-telerik-imagepicker。
此插件的更改与 config.xml 中的更改 - r - 闪亮的renderText对reactiveValues的变化没有反应
- python - 我可以使用 Beautiful Soup 从 Web 上获取使用 HTML 显示的 XML 文件吗?
- javascript - 无法从 /projectFolder 中找到模块“react-native-reanimated/plugin”
- node.js - 位于南非时要使用的 mongodb 区域
- javascript - 如何使用javascript查找哪些html元素最近更改了背景颜色
- cmake - CMAKE:如何设置包含给定目标路径和文件名的编译器标志