美文网首页
Thingsboard Build说明

Thingsboard Build说明

作者: 哦呵呵_3579 | 来源:发表于2020-07-22 18:58 被阅读0次

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说明

      本文链接:https://www.haomeiwen.com/subject/jwbtlktx.html