helm部署redis高可用集群

12 篇文章 1 订阅

1. 添加helm源

helm repo add bitnami https://charts.bitnami.com/bitnami

2. 下载最新版的redis的charts

helm search repo redis
helm fetch bitnami/redis

3. 解压并备份values文件

tar -xf redis-18.6.1.tgz
cd redis/
cp  values.yaml  values.yaml.bak

4. 修改values文件

vim values.yaml

global:
  ...
  ...
  # 配置sc
  storageClass: "nfs-client"
  # redis的密码
  redis:
    password: "pass_123456"
...
...
# 开启哨兵模式
sentinel:
  enabled: true
  quorum: 3

5. 部署到k8s集群中

helm install redis . -f values.yaml

在这里插入图片描述

6. 验证

# 获取redis的密码
export REDIS_PASSWORD=$(kubectl get secret --namespace default redis -o jsonpath="{.data.redis-password}" | base64 -d)
# 运行redis-client容器
kubectl run --namespace default redis-client --restart='Never'  --env REDIS_PASSWORD=$REDIS_PASSWORD  --image docker.io/bitnami/redis:7.2.3-debian-11-r2 --command -- sleep infinity
# 进入redis-client容器
kubectl exec --tty -i redis-client \
   --namespace default -- bash
# 在redis-cli容器中使用redis-cli命令连接集群
REDISCLI_AUTH="$REDIS_PASSWORD" redis-cli -h redis -p 6379 # Read only operations
REDISCLI_AUTH="$REDIS_PASSWORD" redis-cli -h redis -p 26379 # Sentinel access

# 暴露redis的端口,使外部的服务可以访问redis集群
kubectl port-forward --namespace default svc/redis 6379:6379 & REDISCLI_AUTH="$REDIS_PASSWORD" redis-cli -h 127.0.0.1 -p 6379

redis集群信息,可以发现node-1是主节点

kubectl exec -it redis-node-0 -- redis-cli -h redis -a $(kubectl get secret redis -o jsonpath="{.data.redis-password}" | base64 -d) info replication
kubectl exec -it redis-node-1 -- redis-cli -h redis -a $(kubectl get secret redis -o jsonpath="{.data.redis-password}" | base64 -d) info replication
kubectl exec -it redis-node-2 -- redis-cli -h redis -a $(kubectl get secret redis -o jsonpath="{.data.redis-password}" | base64 -d) info replication

在这里插入图片描述
在这里插入图片描述
查看哨兵信息
在这里插入图片描述

7. 模拟冗灾

kill掉node-1的pod,可以看到master已经到了node-2中

kubectl delete pod redis-node-1

在这里插入图片描述

8. 使用

查看redis的svc
在这里插入图片描述
将redis的svc通过nodeport的方式暴露出来,然后通过node_ip:nodeport的方式访问redis即可
kubectl edit svc redis

...
...
type: NodePort #由LoadBalancer改为NodePort
...
...

在这里插入图片描述

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值