444 lines
10 KiB
YAML
444 lines
10 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: tb-js-executor
|
|
namespace: thingsboard
|
|
spec:
|
|
replicas: 20
|
|
selector:
|
|
matchLabels:
|
|
app: tb-js-executor
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: tb-js-executor
|
|
spec:
|
|
containers:
|
|
- name: server
|
|
imagePullPolicy: Always
|
|
image: thingsboard/tb-js-executor:latest
|
|
env:
|
|
- name: REMOTE_JS_EVAL_REQUEST_TOPIC
|
|
value: "js_eval.requests"
|
|
- name: TB_KAFKA_SERVERS
|
|
value: "tb-kafka:9092"
|
|
- name: LOGGER_LEVEL
|
|
value: "info"
|
|
- name: LOG_FOLDER
|
|
value: "logs"
|
|
- name: LOGGER_FILENAME
|
|
value: "tb-js-executor-%DATE%.log"
|
|
- name: DOCKER_MODE
|
|
value: "true"
|
|
- name: SCRIPT_BODY_TRACE_FREQUENCY
|
|
value: "1000"
|
|
restartPolicy: Always
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: tb-mqtt-transport
|
|
namespace: thingsboard
|
|
spec:
|
|
replicas: 2
|
|
selector:
|
|
matchLabels:
|
|
app: tb-mqtt-transport
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: tb-mqtt-transport
|
|
spec:
|
|
volumes:
|
|
- name: tb-mqtt-transport-config
|
|
configMap:
|
|
name: tb-mqtt-transport-config
|
|
items:
|
|
- key: conf
|
|
path: tb-mqtt-transport.conf
|
|
- key: logback
|
|
path: logback.xml
|
|
containers:
|
|
- name: server
|
|
imagePullPolicy: Always
|
|
image: thingsboard/tb-mqtt-transport:latest
|
|
ports:
|
|
- containerPort: 1883
|
|
name: mqtt
|
|
env:
|
|
- name: TB_SERVICE_ID
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: TB_QUEUE_TYPE
|
|
value: "kafka"
|
|
- name: MQTT_BIND_ADDRESS
|
|
value: "0.0.0.0"
|
|
- name: MQTT_BIND_PORT
|
|
value: "1883"
|
|
- name: MQTT_TIMEOUT
|
|
value: "10000"
|
|
- name: TB_KAFKA_SERVERS
|
|
value: "tb-kafka:9092"
|
|
volumeMounts:
|
|
- mountPath: /config
|
|
name: tb-mqtt-transport-config
|
|
readinessProbe:
|
|
periodSeconds: 20
|
|
tcpSocket:
|
|
port: 1883
|
|
livenessProbe:
|
|
initialDelaySeconds: 120
|
|
periodSeconds: 20
|
|
tcpSocket:
|
|
port: 1883
|
|
restartPolicy: Always
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: tb-mqtt-transport
|
|
namespace: thingsboard
|
|
spec:
|
|
type: LoadBalancer
|
|
selector:
|
|
app: tb-mqtt-transport
|
|
ports:
|
|
- port: 1883
|
|
targetPort: 1883
|
|
name: mqtt
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: tb-http-transport
|
|
namespace: thingsboard
|
|
spec:
|
|
replicas: 2
|
|
selector:
|
|
matchLabels:
|
|
app: tb-http-transport
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: tb-http-transport
|
|
spec:
|
|
volumes:
|
|
- name: tb-http-transport-config
|
|
configMap:
|
|
name: tb-http-transport-config
|
|
items:
|
|
- key: conf
|
|
path: tb-http-transport.conf
|
|
- key: logback
|
|
path: logback.xml
|
|
containers:
|
|
- name: server
|
|
imagePullPolicy: Always
|
|
image: thingsboard/tb-http-transport:latest
|
|
ports:
|
|
- containerPort: 8080
|
|
name: http
|
|
env:
|
|
- name: TB_SERVICE_ID
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: TB_QUEUE_TYPE
|
|
value: "kafka"
|
|
- name: HTTP_BIND_ADDRESS
|
|
value: "0.0.0.0"
|
|
- name: HTTP_BIND_PORT
|
|
value: "8080"
|
|
- name: HTTP_REQUEST_TIMEOUT
|
|
value: "60000"
|
|
- name: TB_KAFKA_SERVERS
|
|
value: "tb-kafka:9092"
|
|
volumeMounts:
|
|
- mountPath: /config
|
|
name: tb-http-transport-config
|
|
readinessProbe:
|
|
periodSeconds: 20
|
|
tcpSocket:
|
|
port: 8080
|
|
livenessProbe:
|
|
initialDelaySeconds: 120
|
|
periodSeconds: 20
|
|
tcpSocket:
|
|
port: 8080
|
|
restartPolicy: Always
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: tb-http-transport
|
|
namespace: thingsboard
|
|
spec:
|
|
type: ClusterIP
|
|
selector:
|
|
app: tb-http-transport
|
|
ports:
|
|
- port: 8080
|
|
name: http
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: tb-coap-transport
|
|
namespace: thingsboard
|
|
spec:
|
|
replicas: 2
|
|
selector:
|
|
matchLabels:
|
|
app: tb-coap-transport
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: tb-coap-transport
|
|
spec:
|
|
volumes:
|
|
- name: tb-coap-transport-config
|
|
configMap:
|
|
name: tb-coap-transport-config
|
|
items:
|
|
- key: conf
|
|
path: tb-coap-transport.conf
|
|
- key: logback
|
|
path: logback.xml
|
|
containers:
|
|
- name: server
|
|
imagePullPolicy: Always
|
|
image: thingsboard/tb-coap-transport:latest
|
|
ports:
|
|
- containerPort: 5683
|
|
name: coap
|
|
protocol: UDP
|
|
env:
|
|
- name: TB_SERVICE_ID
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: TB_QUEUE_TYPE
|
|
value: "kafka"
|
|
- name: COAP_BIND_ADDRESS
|
|
value: "0.0.0.0"
|
|
- name: COAP_BIND_PORT
|
|
value: "5683"
|
|
- name: COAP_TIMEOUT
|
|
value: "10000"
|
|
- name: TB_KAFKA_SERVERS
|
|
value: "tb-kafka:9092"
|
|
volumeMounts:
|
|
- mountPath: /config
|
|
name: tb-coap-transport-config
|
|
restartPolicy: Always
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: tb-coap-transport
|
|
namespace: thingsboard
|
|
spec:
|
|
type: LoadBalancer
|
|
selector:
|
|
app: tb-coap-transport
|
|
ports:
|
|
- port: 5683
|
|
name: coap
|
|
protocol: UDP
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: tb-lwm2m-transport
|
|
namespace: thingsboard
|
|
spec:
|
|
replicas: 2
|
|
selector:
|
|
matchLabels:
|
|
app: tb-lwm2m-transport
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: tb-lwm2m-transport
|
|
spec:
|
|
volumes:
|
|
- name: tb-lwm2m-transport-config
|
|
configMap:
|
|
name: tb-lwm2m-transport-config
|
|
items:
|
|
- key: conf
|
|
path: tb-lwm2m-transport.conf
|
|
- key: logback
|
|
path: logback.xml
|
|
containers:
|
|
- name: server
|
|
imagePullPolicy: Always
|
|
image: thingsboard/tb-lwm2m-transport:latest
|
|
ports:
|
|
- containerPort: 5685
|
|
name: lwm2m
|
|
protocol: UDP
|
|
env:
|
|
- name: TB_SERVICE_ID
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: TB_QUEUE_TYPE
|
|
value: "kafka"
|
|
- name: LWM2M_BIND_ADDRESS
|
|
value: "0.0.0.0"
|
|
- name: LWM2M_BIND_PORT
|
|
value: "5685"
|
|
- name: LWM2M_TIMEOUT
|
|
value: "10000"
|
|
- name: TB_KAFKA_SERVERS
|
|
value: "tb-kafka:9092"
|
|
volumeMounts:
|
|
- mountPath: /config
|
|
name: tb-lwm2m-transport-config
|
|
restartPolicy: Always
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: tb-lwm2m-transport
|
|
namespace: thingsboard
|
|
spec:
|
|
type: LoadBalancer
|
|
selector:
|
|
app: tb-lwm2m-transport
|
|
ports:
|
|
- port: 5685
|
|
name: lwm2m
|
|
protocol: UDP
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: tb-web-ui
|
|
namespace: thingsboard
|
|
spec:
|
|
replicas: 2
|
|
selector:
|
|
matchLabels:
|
|
app: tb-web-ui
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: tb-web-ui
|
|
spec:
|
|
containers:
|
|
- name: server
|
|
imagePullPolicy: Always
|
|
image: thingsboard/tb-web-ui:latest
|
|
ports:
|
|
- containerPort: 8080
|
|
name: http
|
|
env:
|
|
- name: HTTP_BIND_ADDRESS
|
|
value: "0.0.0.0"
|
|
- name: HTTP_BIND_PORT
|
|
value: "8080"
|
|
- name: TB_ENABLE_PROXY
|
|
value: "false"
|
|
- name: LOGGER_LEVEL
|
|
value: "info"
|
|
- name: LOG_FOLDER
|
|
value: "logs"
|
|
- name: LOGGER_FILENAME
|
|
value: "tb-web-ui-%DATE%.log"
|
|
- name: DOCKER_MODE
|
|
value: "true"
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /index.html
|
|
port: http
|
|
initialDelaySeconds: 120
|
|
timeoutSeconds: 10
|
|
restartPolicy: Always
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: tb-web-ui
|
|
namespace: thingsboard
|
|
spec:
|
|
type: ClusterIP
|
|
selector:
|
|
app: tb-web-ui
|
|
ports:
|
|
- port: 8080
|
|
name: http
|
|
---
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: tb-ingress
|
|
namespace: thingsboard
|
|
annotations:
|
|
nginx.ingress.kubernetes.io/use-regex: "true"
|
|
nginx.ingress.kubernetes.io/ssl-redirect: "false"
|
|
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/.*
|
|
backend:
|
|
serviceName: tb-http-transport
|
|
servicePort: 8080
|
|
- path: /api/.*
|
|
backend:
|
|
serviceName: tb-node
|
|
servicePort: 8080
|
|
- path: /swagger.*
|
|
backend:
|
|
serviceName: tb-node
|
|
servicePort: 8080
|
|
- path: /webjars.*
|
|
backend:
|
|
serviceName: tb-node
|
|
servicePort: 8080
|
|
- path: /v2/.*
|
|
backend:
|
|
serviceName: tb-node
|
|
servicePort: 8080
|
|
- path: /static/rulenode/.*
|
|
backend:
|
|
serviceName: tb-node
|
|
servicePort: 8080
|
|
- path: /oauth2/.*
|
|
backend:
|
|
serviceName: tb-node
|
|
servicePort: 8080
|
|
- path: /login/oauth2/.*
|
|
backend:
|
|
serviceName: tb-node
|
|
servicePort: 8080
|
|
- path: /
|
|
backend:
|
|
serviceName: tb-web-ui
|
|
servicePort: 8080
|
|
- path: /.*
|
|
backend:
|
|
serviceName: tb-web-ui
|
|
servicePort: 8080
|
|
---
|