thingsboard-aplcache

Changes

docker/k8s/tb.yaml 12(+12 -0)

Details

diff --git a/docker/k8s/redis.yaml b/docker/k8s/redis.yaml
new file mode 100644
index 0000000..3af810e
--- /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

docker/k8s/tb.yaml 12(+12 -0)

diff --git a/docker/k8s/tb.yaml b/docker/k8s/tb.yaml
index 74b6702..1d94cb1 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