Kubernetes部署redis主从集群

目标:

部署Redis leader节点

部署两个follower节点

一、部署 leader节点 redis-leader.yaml

---
apiVersion: v1
kind: Service
metadata:
  name: redis-leader
  namespace: keya-env
  labels:
    app: redis
    role: leader
    tier: backend
spec:
  ports:
  - port: 6379
    targetPort: 6379
  selector:
    app: redis
    role: leader
    tier: backend
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: redis-leader
  namespace: keya-env
  labels:
    app: redis
    role: leader
    tier: backend
spec:
  replicas: 1
  selector:
    matchLabels:
      app: redis
  template:
    metadata:
      labels:
        app: redis
        role: leader
        tier: backend
    spec:
      containers:
      - name: leader
        image: "docker.io/redis:6.0.5"
        resources:
          requests:
            cpu: 100m
            memory: 500Mi
        ports:
        - containerPort: 6379

二、部署follower节点  redis-follower.yaml

---
apiVersion: v1
kind: Service
metadata:
  name: redis-follower
  namespace: keya-env
  labels:
    app: redis
    role: follower
    tier: backend
spec:
  ports:
  - port: 6379
  selector:
    app: redis
    role: follower
    tier: backend

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: redis-follower
  namespace: keya-env
  labels:
    app: redis
    role: follower
    tier: backend
spec:
  replicas: 2
  selector:
    matchLabels:
      app: redis
  template:
    metadata:
      labels:
        app: redis
        role: follower
        tier: backend
    spec:
      containers:
      - name: follower
        image: gcr.io/google_samples/gb-redis-follower:v2
        resources:
          requests:
            cpu: 100m
            memory: 500Mi
        ports:
        - containerPort: 6379

查看集群信息:

[root@master redis-cluster]# kubectl exec -it redis-leader-dbc495489-h4n2l /bin/bash -n keya-env

#进入pod中访问redis

root@redis-leader-dbc495489-h4n2l:/data# redis-cli  #进入redis
127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.104.54,port=6379,state=online,offset=1302,lag=0
slave1:ip=192.168.104.61,port=6379,state=online,offset=1302,lag=1
master_replid:a91918a13f0a6c70a6f594332b1d8d60b83c3a93
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1302
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:1302

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kubernetes部署 Redis 主从集群需要以下步骤: 1. 创建 Redis 主从集群的配置文件 Redis 主从集群需要一个配置文件来指定每个节点的角色(主节点或从节点)以及其他参数。可以使用 YAML 文件或者 Helm Chart 等方式创建配置文件。 2. 创建 Kubernetes Deployment 使用 kubectl 或者 YAML 文件创建一个 Kubernetes Deployment,该 Deployment 包含了 Redis 主从集群的所有节点。在创建 Deployment 时需要指定 Redis 镜像以及相关参数。 3. 创建 Kubernetes Service 为 Redis 主从集群创建 Kubernetes Service,该 Service 可以暴露 Redis 集群的 IP 和端口给其他应用程序使用。 4. 创建 Redis Sentinel 部署 创建一个 Redis Sentinel 部署,用于监控 Redis 主从集群的健康状态并在需要时执行故障转移。同样可以使用 kubectl 或者 YAML 文件创建部署。 5. 创建 Kubernetes ConfigMap 创建一个 Kubernetes ConfigMap,用于存储 Redis Sentinel 的配置文件。 6. 创建 Kubernetes StatefulSet 使用 kubectl 或者 YAML 文件创建一个 Kubernetes StatefulSet,该 StatefulSet 包含了 Redis Sentinel 的所有节点。在创建 StatefulSet 时需要指定 Redis Sentinel 镜像以及相关参数。 7. 部署 Redis 主从集群 使用 kubectl apply 命令将上述所有资源部署Kubernetes 集群中,即可完成 Redis 主从集群部署。 以上是在 Kubernetes部署 Redis 主从集群的一般步骤,具体操作细节可能因不同环境而异,建议参考官方文档或者相关教程进行操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值