From fa03f651b3c2b539122b4a6b99d5360b8b7e7fbf Mon Sep 17 00:00:00 2001 From: Volodymyr Babak Date: Wed, 25 Apr 2018 17:21:23 +0300 Subject: [PATCH] Added redis k8s --- docker/k8s/redis.yaml | 93 +++++++++++++++++++++++++++++++++++++++++++ docker/k8s/tb.yaml | 12 ++++++ 2 files changed, 105 insertions(+) create mode 100644 docker/k8s/redis.yaml diff --git a/docker/k8s/redis.yaml b/docker/k8s/redis.yaml new file mode 100644 index 0000000000..3af810e1e3 --- /dev/null +++ b/docker/k8s/redis.yaml @@ -0,0 +1,93 @@ +# +# Copyright © 2016-2018 The Thingsboard Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +--- +apiVersion: v1 +kind: Service +metadata: + labels: + name: redis-service + name: redis-service +spec: + ports: + - name: redis-service + protocol: TCP + port: 6379 + targetPort: 6379 + selector: + app: redis +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: redis-conf +data: + redis.conf: | + appendonly yes + protected-mode no + bind 0.0.0.0 + port 6379 + dir /var/lib/redis +--- +apiVersion: apps/v1beta1 +kind: StatefulSet +metadata: + name: redis +spec: + serviceName: redis-service + replicas: 1 + template: + metadata: + labels: + app: redis + spec: + terminationGracePeriodSeconds: 10 + containers: + - name: redis + image: redis:4.0.9 + command: + - redis-server + args: + - /etc/redis/redis.conf + resources: + requests: + cpu: 100m + memory: 100Mi + ports: + - containerPort: 6379 + name: redis + volumeMounts: + - name: redis-data + mountPath: /var/lib/redis + - name: redis-conf + mountPath: /etc/redis + volumes: + - name: redis-conf + configMap: + name: redis-conf + items: + - key: redis.conf + path: redis.conf + volumeClaimTemplates: + - metadata: + name: redis-data + annotations: + volume.beta.kubernetes.io/storage-class: fast + spec: + accessModes: [ "ReadWriteOnce" ] + resources: + requests: + storage: 1Gi \ No newline at end of file diff --git a/docker/k8s/tb.yaml b/docker/k8s/tb.yaml index 74b6702d3d..1d94cb11ac 100644 --- a/docker/k8s/tb.yaml +++ b/docker/k8s/tb.yaml @@ -54,6 +54,8 @@ data: cassandra.host: "cassandra-headless" cassandra.port: "9042" database.type: "cassandra" + cache.type: "redis" + redis.host: "redis-service" --- apiVersion: apps/v1beta1 kind: StatefulSet @@ -127,6 +129,16 @@ spec: valueFrom: fieldRef: fieldPath: status.podIP + - name: CACHE_TYPE + valueFrom: + configMapKeyRef: + name: tb-config + key: cache.type + - name: REDIS_HOST + valueFrom: + configMapKeyRef: + name: tb-config + key: redis.host command: - sh - -c