ставим helm
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
выкачиваем чарт:
yum install git
git clone https://github.com/bitnami/charts.git
cd charts/bitnami/redis
helm dependency build
cd ../
vim redis/values.yaml
мы выключаем использование persistance volume и включаем sentinel
1 2 3 4 5 6 7 8 9 10 11 12 13 |
master: persistence: enabled: false replica: replicaCount: 3 persistence: enabled: false sentinel: enabled: true |
создаём namespace
kubectl create ns test
запускаем чарт:
helm install redis redis/ -f redis/values.yaml -n test
redis будет падать по livenessProbe readinessProbe
если их отключить то получим следующую ошибку в логе:
Could not connect to Redis at redis.test.svc.cluster.local:26379: Connection refused
и
WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
[root@kubermaster1 bitnami]# kubectl logs -n test redis-node-1 sentinel 06:40:32.66 INFO ==> about to run the command: REDISCLI_AUTH=$REDIS_PASSWORD redis-cli -h redis.test.svc.cluster.local -p 26379 sentinel get-master-addr-by-name mymaster Could not connect to Redis at redis.test.svc.cluster.local:26379: Connection refused 1:X 12 Mar 2022 06:40:32.774 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 1:X 12 Mar 2022 06:40:32.774 # Redis version=6.2.6, bits=64, commit=00000000, modified=0, pid=1, just started 1:X 12 Mar 2022 06:40:32.774 # Configuration loaded 1:X 12 Mar 2022 06:40:32.775 * monotonic clock: POSIX clock_gettime 1:X 12 Mar 2022 06:40:32.775 * Running mode=sentinel, port=26379. 1:X 12 Mar 2022 06:40:32.775 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 1:X 12 Mar 2022 06:40:32.775 # Sentinel ID is 33535e4e17bf8f9f9ff9ce8f9ddf609e558ff4f2 1:X 12 Mar 2022 06:40:32.775 # +monitor master mymaster redis-node-1.redis-headless.test.svc.cluster.local 6379 quorum 3 1:X 12 Mar 2022 06:40:49.185 * +sentinel sentinel 9fe32540b27937ed9f341b0f610a0d8df405bb63 redis-node-2.redis-headless.test.svc.cluster.local 26379 @ mymaster redis-node-1.edis-headless.test.svc.cluster.local 6379 1:X 12 Mar 2022 06:40:52.977 * +slave slave redis-node-2.redis-headless.test.svc.cluster.local:6379 redis-node-2.redis-headless.test.svc.cluster.local 6379 @ mymaster redisnode-1.redis-headless.test.svc.cluster.local 6379 1:X 12 Mar 2022 06:41:32.870 # +sdown slave redis-node-0.redis-headless.test.svc.cluster.local:6379 redis-node-0.redis-headless.test.svc.cluster.local 6379 @ mymaster redisnode-1.redis-headless.test.svc.cluster.local 6379 1:X 12 Mar 2022 06:41:32.870 # +sdown sentinel 2a09ba7abbb41ee71e79087310d75f9809c3c815 redis-node-0.redis-headless.test.svc.cluster.local 26379 @ mymaster redis-node-1.reds-headless.test.svc.cluster.local 6379 1:X 12 Mar 2022 06:42:38.476 # -sdown slave redis-node-0.redis-headless.test.svc.cluster.local:6379 redis-node-0.redis-headless.test.svc.cluster.local 6379 @ mymaster redisnode-1.redis-headless.test.svc.cluster.local 6379 1:X 12 Mar 2022 06:42:38.476 # -sdown sentinel 2a09ba7abbb41ee71e79087310d75f9809c3c815 redis-node-0.redis-headless.test.svc.cluster.local 26379 @ mymaster redis-node-1.reds-headless.test.svc.cluster.local 6379 1:X 12 Mar 2022 06:42:48.426 * +convert-to-slave slave redis-node-0.redis-headless.test.svc.cluster.local:6379 redis-node-0.redis-headless.test.svc.cluster.local 6379 @ mymster redis-node-1.redis-headless.test.svc.cluster.local 6379 1:X 12 Mar 2022 06:44:13.865 # +sdown master mymaster redis-node-1.redis-headless.test.svc.cluster.local 6379 |
решается она вот так, на нодах где запускается redis надо выполнить:
echo 1024 > /proc/sys/net/core/somaxconn
после этого всё норм запускается.