diff --git a/redis-cluster/Chart.yaml b/redis-cluster/Chart.yaml new file mode 100644 index 0000000000..1b6b80fc53 --- /dev/null +++ b/redis-cluster/Chart.yaml @@ -0,0 +1,10 @@ +name: redis-cluster +home: http://github.com/deis/redis-cluster +version: 0.0.5 +description: Highly available Redis cluster with multiple sentinels and standbys. +maintainers: + - Gabe Monroy +details: + This package provides a highly available Redis cluster with multiple sentinels and standbys. + Note the `redis-master` pod is used for bootstrapping only and can be deleted once + the cluster is up and running. diff --git a/redis-cluster/manifests/redis-master.yaml b/redis-cluster/manifests/redis-master.yaml new file mode 100644 index 0000000000..433b21637e --- /dev/null +++ b/redis-cluster/manifests/redis-master.yaml @@ -0,0 +1,39 @@ +apiVersion: v1 +kind: Pod +metadata: + labels: + heritage: deis + name: redis + redis-sentinel: "true" + role: master + bootstrap: "true" + name: redis-master +spec: + containers: + - name: master + image: "deis/redis:v0.0.5" + env: + - name: MASTER + value: "true" + - name: DEBUG + value: "1" + ports: + - containerPort: 6379 + resources: + limits: + cpu: "0.1" + volumeMounts: + - mountPath: /redis-master-data + name: data + - name: sentinel + image: "deis/redis:v0.0.5" + env: + - name: SENTINEL + value: "true" + - name: DEBUG + value: "1" + ports: + - containerPort: 26379 + volumes: + - name: data + emptyDir: {} diff --git a/redis-cluster/manifests/redis-rc.yaml b/redis-cluster/manifests/redis-rc.yaml new file mode 100644 index 0000000000..40b61c122d --- /dev/null +++ b/redis-cluster/manifests/redis-rc.yaml @@ -0,0 +1,29 @@ +apiVersion: v1 +kind: ReplicationController +metadata: + name: redis + labels: + heritage: deis +spec: + replicas: 3 + selector: + name: redis + template: + metadata: + labels: + name: redis + spec: + containers: + - name: redis + image: "deis/redis:v0.0.5" + ports: + - containerPort: 6379 + resources: + limits: + cpu: "0.1" + volumeMounts: + - mountPath: /redis-master-data + name: data + volumes: + - name: data + emptyDir: {} diff --git a/redis-cluster/manifests/redis-sentinel-rc.yaml b/redis-cluster/manifests/redis-sentinel-rc.yaml new file mode 100644 index 0000000000..4b6b9b3f67 --- /dev/null +++ b/redis-cluster/manifests/redis-sentinel-rc.yaml @@ -0,0 +1,27 @@ +apiVersion: v1 +kind: ReplicationController +metadata: + name: redis-sentinel + labels: + heritage: deis +spec: + replicas: 3 + selector: + redis-sentinel: "true" + template: + metadata: + labels: + name: redis-sentinel + redis-sentinel: "true" + role: sentinel + heritage: deis + provider: redis + spec: + containers: + - name: sentinel + image: "deis/redis:v0.0.5" + env: + - name: SENTINEL + value: "true" + ports: + - containerPort: 26379 diff --git a/redis-cluster/manifests/redis-sentinel-service.yaml b/redis-cluster/manifests/redis-sentinel-service.yaml new file mode 100644 index 0000000000..67fa14ff27 --- /dev/null +++ b/redis-cluster/manifests/redis-sentinel-service.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + heritage: deis + name: sentinel + role: service + name: redis-sentinel +spec: + ports: + - port: 26379 + selector: + redis-sentinel: "true"