123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- ---
- apiVersion: v1
- kind: ConfigMap
- metadata:
- name: redis-cluster
- namespace: qa
- data:
- update.sh: |
- #!/bin/sh
- REDIS_NODES="/data/nodes.conf"
- sed -i -e "/myself/ s/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/${POD_IP}/" ${REDIS_NODES}
- exec "$@"
- redis.conf: |+
- bind 0.0.0.0
- cluster-enabled yes
- cluster-require-full-coverage no
- cluster-node-timeout 30000
- cluster-config-file /data/nodes.conf
- cluster-migration-barrier 1
- appendonly yes
- protected-mode no
- ---
- apiVersion: apps.kruise.io/v1beta1
- # apiVersion: apps/v1
- kind: StatefulSet
- metadata:
- name: redis-cluster
- namespace: qa
- spec:
- serviceName: redis-cluster
- replicas: 6
- selector:
- matchLabels:
- app: redis-cluster
- template:
- metadata:
- labels:
- app: redis-cluster
- spec:
- containers:
- - name: redis
- image: redis:6.2.1-alpine
- ports:
- - containerPort: 6379
- name: client
- - containerPort: 16379
- name: gossip
- command: ["/conf/update.sh", "redis-server", "/conf/redis.conf"]
- env:
- - name: POD_IP
- valueFrom:
- fieldRef:
- fieldPath: status.podIP
- volumeMounts:
- - name: conf
- mountPath: /conf
- readOnly: false
- - name: data
- mountPath: /data
- readOnly: false
- volumes:
- - name: conf
- configMap:
- name: redis-cluster
- defaultMode: 0755
- volumeClaimTemplates:
- - metadata:
- name: data
- spec:
- accessModes: [ "ReadWriteOnce" ]
- resources:
- requests:
- storage: 100Gi
- storageClassName: rbd
- ---
- apiVersion: v1
- kind: Service
- metadata:
- name: redis-cluster
- namespace: qa
- spec:
- type: ClusterIP
- ports:
- - port: 6379
- targetPort: 6379
- name: client
- - port: 16379
- targetPort: 16379
- name: gossip
- selector:
- app: redis-cluster
- ---
- apiVersion: v1
- kind: Service
- metadata:
- name: redis-cluster-client
- namespace: qa
- spec:
- type: NodePort
- ports:
- - port: 6379
- targetPort: 6379
- name: client
- nodePort: 30379
- selector:
- app: redis-cluster
|