目标:
部署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