Redis哨兵搭建-一文搞定

Linux版本:6.9
三台机器:10.211.55.7(主)、10.211.55.8、10.211.55.9
Resis版本:5.0.9 版本 (下载地址 wget http://download.redis.io/releases/redis-5.0.5.tar.gz)
普通用户:admin
超级管理员用户:root
一、安装Redis
  • 进入到用户目录下: cd /home/admin
  • 并将redis-5.0.5.tar.gz上传至文件目录下
  • 解压缩redis:tar -zxvf redis-5.0.5.tar.gz
  • 进入到Redis编译并安装:
  • cd redis-5.0.5
  • 查看是否有 :gcc -v
    • 没有gcc:yum install gcc
    • 有输出:不处理
  • 编译:make
  • 安装:make install
  • 到此无报错即Redis安装成功
二、配置哨兵(配置主从)
1、配置文件redis.conf,修改一下内容:
10.211.55.7:
  bind 10.211.55.7 #不建议使用127.0.0.1、
  protected-mode no #命令禁用保护模式。关闭保护模式,可以外部访问。
  daemonize yes #后台运行
  dir /data/redis/db #系统盘不够大的建议修改到大磁盘中,也可以不修改
   requirepass admin123456 主节点密码
10.211.55.8:配置文件redis.conf,修改一下内容:
  bind 10.211.55.8 #不建议使用127.0.0.1、
  protected-mode no #命令禁用保护模式。关闭保护模式,可以外部访问。
  daemonize yes #后台运行
  dir /data/redis/db #系统盘不够大的建议修改到大磁盘中,也可以不修改
  replicaof 10.211.55.7 6379 
  masterauth admin123456 #master密码
10.211.55.9:配置文件redis.conf,修改一下内容:
  bind 10.211.55.9 #不建议使用127.0.0.1、
  protected-mode no #命令禁用保护模式。关闭保护模式,可以外部访问。
  daemoniz
<think>好的,我现在需要解决用户的问题,也就是在KubeSphere中部署Redis搭建哨兵机制。用户可能已经了解了一些关于KubeSphere的基础知识,现在需要具体的步骤指导。首先,我得回忆一下KubeSphere的相关组件和部署方式。 根据用户提供的引用,特别是引用[1]和[3],其中提到了启用KubeSphere自带的Redis哨兵,需要修改集群配置。引用[1]中的命令是修改ks-installer的配置,这可能涉及到启用Redis的高可用模式。而引用[3]则提到了Redis哨兵的配置文件,包括哨兵的端口、监控的主节点等信息。另外,引用[4]中的redis-cli命令用于创建集群,但用户需要的是哨兵模式,所以可能需要区分集群部署哨兵部署的不同步骤。首先,我需要确定在KubeSphere中部署Redis哨兵模式的具体流程。通常,在KubeSphere中部署应用可以通过应用商店或者自定义YAML文件来实现。但根据引用[1]中的命令,可能需要先启用内置的Redis哨兵支持。这可能涉及到编辑ks-installer的配置,添加相关的Redis参数,比如设置哨兵的数量、主从配置等。 接下来,需要确认Redis部署方式,是使用StatefulSet还是Deployment,以及如何配置持久化存储。哨兵模式需要至少三个哨兵实例和至少一个主节点和从节点,所以需要确保资源足够,并且网络配置正确,使得哨兵能够监控到Redis实例。 然后,配置哨兵的参数,比如sentinel monitor指定主节点的名称、IP和端口,quorum的数量等。这部分内容在引用[3]中有示例,比如sentinel monitormymaster10.233.111.3163792,这里的quorum是2,表示需要至少两个哨兵同意才能进行故障转移。此外,还需要设置认证密码,如果Redis有密码的话,哨兵的配置也需要包含auth-pass参数。用户可能需要详细的步骤,包括如何修改ks-installer的配置,如何部署Redis主从,如何部署哨兵,以及如何验证部署是否成功。此外,还需要考虑持久化存储的配置,比如在KubeSphere中创建PVC,挂载到Redis哨兵的容器中,确保数据持久化。可能遇到的问题包括网络策略是否允许哨兵Redis实例之间的通信,以及哨兵之间能否互相发现。在Kubernetes环境中,通常使用Service来暴露Pod,所以需要为Redis主节点和从节点创建Service,哨兵可以通过这些Service的DNS名称来访问Redis实例。另外,引用[4]中的redis-cli命令是用于创建集群的,但用户需要的是哨兵模式,所以可能需要忽略这部分,或者明确区分哨兵模式和集群模式的不同部署方法。 总结下来,步骤可能包括:1.启用KubeSphere的Redis哨兵配置。 2.部署Redis主从实例。3.部署Redis哨兵实例,配置监控主节点。 4.验证哨兵机制是否正常工作,比如模拟主节点故障,观察是否自动切换。需要确保每一步的配置正确,特别是网络和存储方面,同时提供验证方法,比如使用redis-cli连接哨兵,查看主从状态等。此外,用户可能需要相关的问题,比如如何调整哨兵参数,如何处理故障转移等,所以在生成相关问题时要考虑这些方面。</think>### 在KubeSphere中部署Redis哨兵模式分步指南 --- #### **一、启用KubeSphere内置Redis哨兵支持** 1. 登录KubeSphere集群节点,执行以下命令修改集群配置: ```bash kubectl edit cc ks-installer -n kubesphere-system ``` 2. 在`ks-installer`的`redis`配置段中添加哨兵参数: ```yaml redis: enabled: true highAvailability: true # 启用哨兵模式 sentinelReplicas: 3 # 哨兵节点数量 ``` 保存后等待集群自动更新配置[^1]。 --- #### **二、部署Redis主从实例** 1. **创建主节点StatefulSet** 通过KubeSphere控制台创建有状态服务,配置示例: ```yaml apiVersion: apps/v1 kind: StatefulSet metadata: name: redis-master spec: serviceName: redis-master-svc replicas: 1 template: spec: containers: - name: redis image: redis:7.0.4-alpine args: ["--requirepass yourpassword"] # 设置密码 volumeMounts: - mountPath: /data name: redis-data volumeClaimTemplates: - metadata: name: redis-data spec: accessModes: [ "ReadWriteOnce" ] storageClassName: "local-storage" ``` 2. **创建从节点Deployment** 使用`redis-slave`镜像并指定主节点服务地址: ```yaml env: - name: MASTER_HOST value: "redis-master-svc" # 主节点服务名 - name: MASTER_PASSWORD value: "yourpassword" ``` --- #### **三、部署Redis哨兵** 1. **创建哨兵配置文件ConfigMap** 参考引用[3]的哨兵配置模板: ```ini sentinel monitor mymaster redis-master-svc 6379 2 sentinel auth-pass mymaster yourpassword sentinel down-after-milliseconds mymaster 5000 ``` 通过KubeSphere控制台将配置挂载到哨兵容器的`/redis/sentinel.conf`路径。 2. **部署哨兵StatefulSet** 使用`redis-sentinel`镜像并引用ConfigMap: ```yaml containers: - name: sentinel image: redis:7.0.4-alpine command: ["redis-sentinel", "/redis/sentinel.conf"] ``` --- #### **四、验证哨兵机制** 1. 进入哨兵Pod执行命令: ```bash redis-cli -p 26379 sentinel get-master-addr-by-name mymaster ``` 应返回当前主节点IP和端口[^3]。 2. 手动触发主节点故障(如删除主Pod),观察哨兵日志是否触发重新选举: ```bash kubectl logs redis-sentinel-0 | grep +switch-master ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值