马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
redis-config.yaml (配置文件)
- apiVersion: v1
- kind: ConfigMap
- metadata:
- name: redis-config
- data:
- redis.conf: |
- # Redis general configuration
- bind 0.0.0.0
- protected-mode no
- port 6379
- dir /data
- appendonly yes
- sentinel.conf: |
- sentinel monitor mymaster redis-master 6379 2
- sentinel down-after-milliseconds mymaster 5000
- sentinel failover-timeout mymaster 10000
- sentinel parallel-syncs mymaster 1
复制代码 redis-master-statefulset.yaml (主)
- apiVersion: apps/v1
- kind: StatefulSet
- metadata:
- name: redis-master
- spec:
- serviceName: "redis-master"
- replicas: 1
- selector:
- matchLabels:
- app: redis
- role: master
- template:
- metadata:
- labels:
- app: redis
- role: master
- spec:
- containers:
- - name: redis
- image: redis:5.0.7
- command: ["redis-server", "/data/redis.conf"]
- volumeMounts:
- - name: redis-data
- mountPath: /data
- - name: config
- mountPath: /data/redis.conf
- subPath: redis.conf
- volumes:
- - name: config
- configMap:
- name: redis-config
- volumeClaimTemplates:
- - metadata:
- name: redis-data
- spec:
- storageClassName: "nfs-client-storageclass"
- accessModes: [ "ReadWriteOnce" ]
- resources:
- requests:
- storage: 1Gi
复制代码 redis-slave-statefulset.yaml (从)
- apiVersion: apps/v1
- kind: StatefulSet
- metadata:
- name: redis-slave
- spec:
- serviceName: "redis-slave"
- replicas: 2
- selector:
- matchLabels:
- app: redis
- role: slave
- template:
- metadata:
- labels:
- app: redis
- role: slave
- spec:
- containers:
- - name: redis
- image: redis:5.0.7
- command: ["redis-server", "/data/redis.conf", "--slaveof", "redis-master", "6379"]
- volumeMounts:
- - name: redis-data
- mountPath: /data
- - name: config
- mountPath: /data/redis.conf
- subPath: redis.conf
- volumes:
- - name: config
- configMap:
- name: redis-config
- volumeClaimTemplates:
- - metadata:
- name: redis-data
- spec:
- accessModes: [ "ReadWriteOnce" ]
- storageClassName: "nfs-client-storageclass"
- resources:
- requests:
- storage: 1Gi
复制代码 redis-service.yaml (端口)
- apiVersion: v1
- kind: Service
- metadata:
- name: redis-master
- spec:
- ports:
- - port: 6379
- targetPort: 6379
- selector:
- app: redis
- role: master
- ---
- apiVersion: v1
- kind: Service
- metadata:
- name: redis-slave
- spec:
- ports:
- - port: 6379
- targetPort: 6379
- selector:
- app: redis
- role: slave
- ---
- apiVersion: v1
- kind: Service
- metadata:
- name: redis-sentinel
- spec:
- ports:
- - port: 26379
- targetPort: 26379
- selector:
- app: redis
- role: sentinel
复制代码 redis-sentinel-statefulset.yaml (哨兵)
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: redis-sentinel
- spec:
- replicas: 3
- selector:
- matchLabels:
- app: redis
- role: sentinel
- template:
- metadata:
- labels:
- app: redis
- role: sentinel
- spec:
- # 使用 initContainer 复制并修改权限
- initContainers:
- - name: copy-config
- image: busybox:1.27
- command: ['sh', '-c', 'cp /data/sentinel.conf /tmp/sentinel.conf && chmod 644 /tmp/sentinel.conf']
- volumeMounts:
- - name: config
- mountPath: /data
- - name: sentinel-config
- mountPath: /tmp
- # Redis Sentinel 容器
- containers:
- - name: sentinel
- image: redis:5.0.7
- command: ["redis-sentinel", "/tmp/sentinel.conf"]
- volumeMounts:
- - name: sentinel-config
- mountPath: /tmp
- # 卷定义
- volumes:
- - name: config
- configMap:
- name: redis-config
- - name: sentinel-config
- emptyDir: {}
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |