181 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			181 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
#
 | 
						|
# Copyright © 2016-2021 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: apps/v1
 | 
						|
kind: Deployment
 | 
						|
metadata:
 | 
						|
  name: zookeeper
 | 
						|
  namespace: thingsboard
 | 
						|
spec:
 | 
						|
  selector:
 | 
						|
    matchLabels:
 | 
						|
      app: zookeeper
 | 
						|
  template:
 | 
						|
    metadata:
 | 
						|
      labels:
 | 
						|
        app: zookeeper
 | 
						|
    spec:
 | 
						|
      containers:
 | 
						|
        - name: server
 | 
						|
          imagePullPolicy: Always
 | 
						|
          image: zookeeper:3.5
 | 
						|
          ports:
 | 
						|
            - containerPort: 2181
 | 
						|
          readinessProbe:
 | 
						|
            periodSeconds: 5
 | 
						|
            tcpSocket:
 | 
						|
              port: 2181
 | 
						|
          livenessProbe:
 | 
						|
            initialDelaySeconds: 15
 | 
						|
            periodSeconds: 5
 | 
						|
            tcpSocket:
 | 
						|
              port: 2181
 | 
						|
          env:
 | 
						|
            - name: ZOO_MY_ID
 | 
						|
              value: "1"
 | 
						|
            - name: ZOO_SERVERS
 | 
						|
              value: "server.1=0.0.0.0:2888:3888;0.0.0.0:2181"
 | 
						|
      restartPolicy: Always
 | 
						|
---
 | 
						|
apiVersion: v1
 | 
						|
kind: Service
 | 
						|
metadata:
 | 
						|
  name: zookeeper
 | 
						|
  namespace: thingsboard
 | 
						|
spec:
 | 
						|
  type: ClusterIP
 | 
						|
  selector:
 | 
						|
    app: zookeeper
 | 
						|
  ports:
 | 
						|
    - name: zk-port
 | 
						|
      port: 2181
 | 
						|
---
 | 
						|
apiVersion: apps/v1
 | 
						|
kind: Deployment
 | 
						|
metadata:
 | 
						|
  name: tb-kafka
 | 
						|
  namespace: thingsboard
 | 
						|
spec:
 | 
						|
  selector:
 | 
						|
    matchLabels:
 | 
						|
      app: tb-kafka
 | 
						|
  template:
 | 
						|
    metadata:
 | 
						|
      labels:
 | 
						|
        app: tb-kafka
 | 
						|
    spec:
 | 
						|
      containers:
 | 
						|
        - name: server
 | 
						|
          imagePullPolicy: Always
 | 
						|
          image: wurstmeister/kafka:2.12-2.2.1
 | 
						|
          ports:
 | 
						|
            - containerPort: 9092
 | 
						|
          readinessProbe:
 | 
						|
            periodSeconds: 20
 | 
						|
            tcpSocket:
 | 
						|
              port: 9092
 | 
						|
          livenessProbe:
 | 
						|
            initialDelaySeconds: 25
 | 
						|
            periodSeconds: 5
 | 
						|
            tcpSocket:
 | 
						|
              port: 9092
 | 
						|
          env:
 | 
						|
            - name: KAFKA_ZOOKEEPER_CONNECT
 | 
						|
              value: "zookeeper:2181"
 | 
						|
            - name: KAFKA_LISTENERS
 | 
						|
              value: "INSIDE://:9093,OUTSIDE://:9092"
 | 
						|
            - name: KAFKA_ADVERTISED_LISTENERS
 | 
						|
              value: "INSIDE://:9093,OUTSIDE://tb-kafka:9092"
 | 
						|
            - name: KAFKA_LISTENER_SECURITY_PROTOCOL_MAP
 | 
						|
              value: "INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT"
 | 
						|
            - name: KAFKA_INTER_BROKER_LISTENER_NAME
 | 
						|
              value: "INSIDE"
 | 
						|
            - name: KAFKA_CREATE_TOPICS
 | 
						|
              value: "js_eval.requests:100:1:delete --config=retention.ms=60000 --config=segment.bytes=26214400 --config=retention.bytes=104857600,tb_transport.api.requests:30:1:delete --config=retention.ms=60000 --config=segment.bytes=26214400 --config=retention.bytes=104857600,tb_rule_engine:30:1:delete --config=retention.ms=60000 --config=segment.bytes=26214400 --config=retention.bytes=104857600"
 | 
						|
            - name: KAFKA_AUTO_CREATE_TOPICS_ENABLE
 | 
						|
              value: "false"
 | 
						|
            - name: KAFKA_LOG_RETENTION_BYTES
 | 
						|
              value: "1073741824"
 | 
						|
            - name: KAFKA_LOG_SEGMENT_BYTES
 | 
						|
              value: "268435456"
 | 
						|
            - name: KAFKA_LOG_RETENTION_MS
 | 
						|
              value: "300000"
 | 
						|
            - name: KAFKA_LOG_CLEANUP_POLICY
 | 
						|
              value: "delete"
 | 
						|
      restartPolicy: Always
 | 
						|
---
 | 
						|
apiVersion: v1
 | 
						|
kind: Service
 | 
						|
metadata:
 | 
						|
  name: tb-kafka
 | 
						|
  namespace: thingsboard
 | 
						|
spec:
 | 
						|
  type: ClusterIP
 | 
						|
  selector:
 | 
						|
    app: tb-kafka
 | 
						|
  ports:
 | 
						|
    - name: tb-kafka-port
 | 
						|
      port: 9092
 | 
						|
---
 | 
						|
apiVersion: apps/v1
 | 
						|
kind: Deployment
 | 
						|
metadata:
 | 
						|
  name: tb-redis
 | 
						|
  namespace: thingsboard
 | 
						|
spec:
 | 
						|
  selector:
 | 
						|
    matchLabels:
 | 
						|
      app: tb-redis
 | 
						|
  template:
 | 
						|
    metadata:
 | 
						|
      labels:
 | 
						|
        app: tb-redis
 | 
						|
    spec:
 | 
						|
      containers:
 | 
						|
        - name: server
 | 
						|
          imagePullPolicy: Always
 | 
						|
          image: redis:4.0
 | 
						|
          ports:
 | 
						|
            - containerPort: 6379
 | 
						|
          readinessProbe:
 | 
						|
            periodSeconds: 5
 | 
						|
            tcpSocket:
 | 
						|
              port: 6379
 | 
						|
          livenessProbe:
 | 
						|
            periodSeconds: 5
 | 
						|
            tcpSocket:
 | 
						|
              port: 6379
 | 
						|
          volumeMounts:
 | 
						|
            - mountPath: /data
 | 
						|
              name: redis-data
 | 
						|
      volumes:
 | 
						|
        - name: redis-data
 | 
						|
          emptyDir: {}
 | 
						|
      restartPolicy: Always
 | 
						|
---
 | 
						|
apiVersion: v1
 | 
						|
kind: Service
 | 
						|
metadata:
 | 
						|
  name: tb-redis
 | 
						|
  namespace: thingsboard
 | 
						|
spec:
 | 
						|
  type: ClusterIP
 | 
						|
  selector:
 | 
						|
    app: tb-redis
 | 
						|
  ports:
 | 
						|
    - name: tb-redis-port
 | 
						|
      port: 6379
 | 
						|
--- |