Thingsboard Build说明

Build

基础环境

  • JAVA 8
  • Maven 3.1.0+
  • NodeJS

Build流程

1、获取源码

2、如果没有梯子,提前下载好node_module(option)

在这两个项目的目录下执行 cnpm install

./ui-ngx/
./msa/js-executor/

3、在项目根目录下执行一下指令进行项目的打包

mvn clean install -Dmaven.test.skip=true -Pprod -Ddockerfile.skip=false

常见问题

  • JavaScript Executor Microservice失败,提示fetched-vXXXX装不上

手动下载对应的包,然后放到指定位置,目录为:/User/XXXX/.pkg-cache/V2.6/,下载地址为:https://github.com/vercel/pkg-fetch/releases

  • npm install安装组件超时

通过cnnpm先手动将对应的组件下载完成,或者挂梯子

  • tb项目打包下载超时

可以将./msa/tb这个包剔除,这个对应的数据库的镜像,如果已经有数据库了可以不用进行打包,直接使用现有的数据库即可

Deploy

Kubernetes部署

1、先配置环境./k8s/.evn,默认通过高可用的方式进行部署

# 使用自建的kubernetes进行部署
PLATFORM=minikube
# 采用高可用方式进行部署
DEPLOYMENT_TYPE=high-availability
# 数据库采用混合的方式,pgsql存放持久化数据,cassandra用于存放时序数据(主要是遥测的数据)
DATABASE=hybrid
CASSANDRA_REPLICATION_FACTOR=3

2、部署数据库组件并初始化数据库(pgsql集群、cassandra集群)

./k8s/k8s-install-tb.sh

3、部署第三方组件(zk集群、kafka集群、redis集群)

./k8s/k8s-deploy-thirdparty.sh

4、修改web-ui的ingress文件,使用对应的host

./k8s/minikube/routes.yml

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:
    - host: tb.sz

5、部署tb组件(tb-node核心组件、js-executor、web-ui(option)、http-transport(option)、mqtt-transport(option)、coap-transport(option))

./k8s/k8s-deploy-resources.sh

6、通过nodeport或者lb的方式将transport暴露给外部,进行数据采集

  • 高可用的部署的thingsboard,web-ui与tb-node(核心组件)是分离的,只能通过ingress的方式进行web-ui的暴露,无法通过nodeport的方式暴露

Upgrade

1、将对应的镜像push到镜像仓,并修改对应的部署文件中的镜像名称

# 数据库更新使用到的组件
./k8s/common/database-setup.yml

# 核心组件
./k8s/common/tb-node.yml

# transport组件、web组件以及js执行引擎组件
./k8s/common/thingsboard.yml

2、停止所有的tb组件

./k8s/k8s-delete-resources.sh

3、更新数据库

./k8s/k8s-upgrade-tb.sh --fromVersion=XXXX

其中fromVersion为之前的版本名称,例如从3.0.1升级到3.1.0,则 fromVersion=3.0.1
具体的升级可参考如下地址:
https://thingsboard.io/docs/user-guide/install/cluster/minikube-cluster-setup/
https://thingsboard.io/docs/user-guide/install/pe/upgrade-instructions/

4、启动所有的tb组件

./k8s/k8s-deploy-resources.sh

Uninstall

./k8s/k8s-delete-all.sh

本文章来源于互联网,如有侵权,请联系删除!原文地址:Thingsboard Build说明

相关推荐: 物联网介绍 | 5分钟看懂什么是IoT物联网

先声明一下,本文是关于物联网的粗略介绍,就是用大白话介绍一下物联网,也不涉及技术细节,所以不追求用词多么精准专业,但求通俗易懂。 如果你曾经听过物联网这个词,你可能会有一点疑惑, 什么是物联网? 物联网有什么用? 物联网的发展如何? 物联网和互联网有什么关系?…