Skip to content

Instantly share code, notes, and snippets.

@farahfa
Created May 2, 2019 19:24
Show Gist options
  • Save farahfa/2726f7450d52f8d8eba2492b2174b0ba to your computer and use it in GitHub Desktop.
Save farahfa/2726f7450d52f8d8eba2492b2174b0ba to your computer and use it in GitHub Desktop.
apiVersion: v1
kind: ConfigMap
metadata:
name: redis-cluster-${TEAM_NAME}-${BUILD_NUMBER}
labels:
app: redis-cluster-${TEAM_NAME}-${BUILD_NUMBER}
data:
redis.conf: |+
cluster-enabled yes
cluster-require-full-coverage no
cluster-node-timeout 15000
cluster-config-file /data/nodes.conf
cluster-migration-barrier 1
appendonly yes
protected-mode no
---
apiVersion: v1
kind: Service
metadata:
annotations:
service.alpha.kubernetes.io/tolerate-unready-endpoints: "false"
name: redis-cluster-${TEAM_NAME}-${BUILD_NUMBER}
labels:
app: redis-cluster-${TEAM_NAME}-${BUILD_NUMBER}
spec:
ports:
- port: 6379
targetPort: 6379
name: client
- port: 16379
targetPort: 16379
name: gossip
selector:
app: redis-cluster-${TEAM_NAME}-${BUILD_NUMBER}
---
apiVersion: v1
kind: Service
metadata:
annotations:
service.alpha.kubernetes.io/tolerate-unready-endpoints: "false"
name: redis-cluster-${TEAM_NAME}-${BUILD_NUMBER}-client
labels:
app: redis-cluster-${TEAM_NAME}-${BUILD_NUMBER}
spec:
type: NodePort
ports:
- port: 6379
nodePort: 31234
name: client
selector:
app: redis-cluster-${TEAM_NAME}-${BUILD_NUMBER}
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: redis-cluster-${TEAM_NAME}-${BUILD_NUMBER}
labels:
app: redis-cluster-${TEAM_NAME}-${BUILD_NUMBER}
spec:
serviceName: redis-cluster-${TEAM_NAME}-${BUILD_NUMBER}
replicas: ${CLUSTER_SIZE}
selector:
matchLabels:
app: redis-cluster-${TEAM_NAME}-${BUILD_NUMBER}
template:
metadata:
labels:
app: redis-cluster-${TEAM_NAME}-${BUILD_NUMBER}
spec:
containers:
- name: redis-cluster-${TEAM_NAME}-${BUILD_NUMBER}
image: covisintrnd/redis-cluster:4.0.14
ports:
- containerPort: 6379
name: client
- containerPort: 16379
name: gossip
command: ["redis-server"]
args:
- "/conf/redis.conf"
#- "--cluster-announce-ip"
#- "\$(MY_POD_IP)"
env:
- name: MY_POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
readinessProbe:
exec:
command:
- sh
- -c
- "redis-cli -h \$(hostname) ping"
initialDelaySeconds: 15
timeoutSeconds: 5
livenessProbe:
exec:
command:
- sh
- -c
- "redis-cli -h \$(hostname) ping"
initialDelaySeconds: 20
periodSeconds: 3
volumeMounts:
- name: conf
mountPath: /conf
readOnly: false
- name: data
mountPath: /data
readOnly: false
volumes:
- name: conf
configMap:
name: redis-cluster-${TEAM_NAME}-${BUILD_NUMBER}
items:
- key: redis.conf
path: redis.conf
volumeClaimTemplates:
- metadata:
name: data
labels:
name: redis-cluster-${TEAM_NAME}-${BUILD_NUMBER}
spec:
accessModes: [ "ReadWriteMany" ]
resources:
requests:
storage: 1Gi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment