thingsboard.yaml
Home
/
docker /
thingsboard /
thingsboard.yaml
---
apiVersion: v1
kind: Service
metadata:
name: tb-external-ip
labels:
app: tb-external-ip
spec:
ports:
- port: 8080
name: ui-port
- port: 1883
name: mqtt-port
- port: 5683
name: coap-port
- port: 9001
name: rpc-port
selector:
app: tb
type: LoadBalancer
---
apiVersion: v1
kind: Service
metadata:
name: tb-headless
labels:
app: tb-headless
spec:
ports:
- port: 8080
name: ui-port
- port: 1883
name: mqtt-port
- port: 5683
name: coap-port
- port: 9001
name: rpc-port
selector:
app: tb
clusterIP: None
---
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
name: tb-budget
spec:
selector:
matchLabels:
app: tb
minAvailable: 2
---
apiVersion: v1
kind: ConfigMap
metadata:
name: tb-config
data:
zookeeper.enabled: "true"
zookeeper.url: "zk-headless"
cassandra.url: "cassandra:9042"
---
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: tb
spec:
serviceName: "tb-headless"
replicas: 2
template:
metadata:
labels:
app: tb
spec:
terminationGracePeriodSeconds: 10
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: "app"
operator: In
values:
- tb-headless
topologyKey: "kubernetes.io/hostname"
containers:
- name: tb
imagePullPolicy: Always
image: thingsboard/application:k8test
ports:
- containerPort: 8080
name: ui-port
- containerPort: 1883
name: mqtt-port
- containerPort: 5683
name: coap-port
- containerPort: 9001
name: rpc-port
env:
- name: ZOOKEEPER_ENABLED
valueFrom:
configMapKeyRef:
name: tb-config
key: zookeeper.enabled
- name: ZOOKEEPER_URL
valueFrom:
configMapKeyRef:
name: tb-config
key: zookeeper.url
- name : CASSANDRA_URL
valueFrom:
configMapKeyRef:
name: tb-config
key: cassandra.url
command:
- sh
- -c
- ./run_thingsboard.sh
# readinessProbe:
# httpGet:
# path: /login
# port: ui-port
# initialDelaySeconds: 30
# periodSeconds: 10
livenessProbe:
httpGet:
path: /login
port: ui-port
initialDelaySeconds: 30
periodSeconds: 10