【搭建redis集群】

目录

本博客摘录自K8S搭建Redis集群
镜像源来自于阿里云开发者社区
DNS解析文件来源于阿里云dns镜像站

更多福利介绍详见https://mp.csdn.net/mp_blog/manage/traffic

一、规划思路

  1. redis持久化数据存储的路径;
  2. 从节点挂载;
  3. 编写statefulsets、configmap、service等yaml文件并创建;(要改dns解析文件的挂载路径)
  4. 验收无头redis集群;
  5. 其他步骤;

二、 创建NFS存储

  1. 共享路径的服务器节点上做检查
# 前置检查步骤(检查nfs工具包是否存在)
rpm -qa | grep nfs
# 不存在则
yum provides nfs-utils
# 选择比较合理的版本
yum install -y nfs-utils-1.3.0-0.68.1.al7.2.x86_64 rpcbind-0.2.0-49.1.al7.x86_64

nfs软件包检查
装包
在这里插入图片描述

在这里插入图片描述
装包

三、 共享路径(需要被从节点识别挂载)

  1. master节点创建规划好的共享路径
# 创建
mkdir -p /data/redis-data/{pv1,pv2,pv3,pv4,pv5,pv6}
# 验证
tree -l 
  1. 递归提升文件目录的使用权限
    在这里插入图片描述

在这里插入图片描述

# 验证
ls -al

在这里插入图片描述

ifconfig eth0 | awk -F " " '(NR==2){print $2}'

查看master节点的私网地址
3. 把持久化存储路径写进/etc/exports
查看刷新共享路径指令

exportfs -a
vim /etc/exports
---------------------------------------------------------
/data/redis-data/pv1 172.19.0.0/16(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
/data/redis-data/pv2 172.19.0.0/16(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
/data/redis-data/pv3 172.19.0.0/16(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
/data/redis-data/pv4 172.19.0.0/16(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
/data/redis-data/pv5 172.19.0.0/16(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
/data/redis-data/pv6 172.19.0.0/16(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)

在这里插入图片描述

exportfs -help

在这里插入图片描述

四、路径挂载

1.创建需要被挂载的共享路径

# 至从节点创建需要被挂载出来的共享路径
mkdir -p /mnt/nfs/redis-cluster-pv/{pv1,pv2,pv3,pv4,pv5,pv6}
chmod -R 777 /mnt/nfs

在这里插入图片描述
2.检查对应rpcbind以及nfs服务正常与否

systemctl status rpcbind
systemctl status nfs

# 没有激活的状态
systemctl enable rpcbind
systemctl enable nfs
systemctl start rpcbind
systemctl start nfs

在这里插入图片描述

3.挂载对应路径

# vi /etc/fstab
172.19.139.231:/data/redis-data/pv1 /mnt/nfs/redis-cluster-pv/pv1 nfs defaults 0 0
172.19.139.231:/data/redis-data/pv2 /mnt/nfs/redis-cluster-pv/pv2 nfs defaults 0 0
172.19.139.231:/data/redis-data/pv3 /mnt/nfs/redis-cluster-pv/pv3 nfs defaults 0 0
172.19.139.231:/data/redis-data/pv4 /mnt/nfs/redis-cluster-pv/pv4 nfs defaults 0 0
172.19.139.231:/data/redis-data/pv5 /mnt/nfs/redis-cluster-pv/pv5 nfs defaults 0 0
172.19.139.231:/data/redis-data/pv6 /mnt/nfs/redis-cluster-pv/pv6 nfs defaults 0 0

# 重新加载挂载目录
mount -a

# 做检查
mount

在这里插入图片描述

五、编写yaml文件

  1. 编写redis-pv.yaml文件创建持久卷
vim redis-pv.yaml
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: nfs-pv1
spec:
  storageClassName: redis
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteMany
  nfs:
    server: 172.19.139.231
    path: "/data/redis-data/pv1"

---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: nfs-pv2
spec:
  storageClassName: redis
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteMany
  nfs:
    server: 172.19.139.231
    path: "/data/redis-data/pv2"

---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: nfs-pv3
spec:
  storageClassName: redis
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteMany
  nfs:
    server: 172.19.139.231
    path: "/data/redis-data/pv3"

---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: nfs-pv4
spec:
  storageClassName: redis
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteMany
  nfs:
    server: 172.19.139.231
    path: "/data/redis-data/pv4"

---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: nfs-pv5
spec:
  storageClassName: redis
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteMany
  nfs:
    server: 172.19.139.231
    path: "/data/redis-data/pv5"

---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: nfs-pv6
spec:
  storageClassName: redis
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteMany
  nfs:
    server: 172.19.139.231
    path: "/data/redis-data/pv6"

在这里插入图片描述
2. 创建redis的resolv.conf configmap对象

vim resolv-conf-configmap.yaml
# ----------------------------------------------------------------------------
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: resolv-conf
data:
  resolv.conf: |
    search default.svc.cluster.local
    search svc.cluster.local
    search cluster.local
    nameserver 223.5.5.5
    nameserver 223.6.6.6
    options ndots:5

# ----------------------------------------------------------------------------
k apply -f resolv-conf-configmap.yaml
  1. 查看野pod
    在这里插入图片描述
  2. 检查pv持久卷
    在这里插入图片描述
# 查看api-server的IP地址
kubectl get services/kubernetes -o=jsonpath='{.spec.clusterIP}'

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
搭建redis集群,需要进行以下步骤: 1. 下载redis集群源码包并解压 2. 编译redis集群源码包 3. 创建redis集群配置文件 4. 启动redis集群 5. 验证redis集群是否正常工作 下面我们逐一介绍每个步骤的具体操作: 1. 下载redis集群源码包并解压 可以在redis官网上下载redis集群的源码包,下载地址为:https://redis.io/download。下载完成后,解压到指定的目录下。 2. 编译redis集群源码包 进入redis集群源码包所在的目录,使用以下命令编译redis集群: make 3. 创建redis集群配置文件 在redis集群源码包所在的目录下,创建一个名为redis_cluster.conf的配置文件,并添加以下内容: port 7000 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes 说明: port:redis集群中的一个节点所使用的端口号。 cluster-enabled:是否启用集群模式。 cluster-config-file:集群配置文件的名称。 cluster-node-timeout:如果一个节点在指定的时间内没有响应,那么它就被认为是不可用的。 appendonly:是否启用AOF持久化。 根据实际需要,可以添加更多的配置项。 4. 启动redis集群 在redis集群源码包所在的目录下,启动redis集群,使用以下命令: ./src/redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 说明: ./src/redis-trib.rb:redis集群管理工具。 create:创建一个新的集群。 --replicas:指定每个主节点的从节点数量。 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005:指定redis集群中的所有节点。 5. 验证redis集群是否正常工作 使用以下命令验证redis集群是否正常工作: ./src/redis-trib.rb check 127.0.0.1:7000 说明: check:检查集群中的所有节点是否正常工作。 127.0.0.1:7000:指定一个节点进行检查。 如果所有节点都正常工作,那么redis集群就搭建成功了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值