安装

ThingsBoard安装和配置文档。

OpenShift集群

本指南将帮助你使用OpenShift在集群模式下配置ThingsBoard。

先决条件

ThingsBoard微服务在Kubernetes集群上运行要在本地部署OpenShift集群需要具有Docker CE才能运行OpenShift容器和OpenShift Origin本身。

请按照说明安装所有必需的软件。

登录OpenShift集群

访问OpenShift集群必须先登录默认情况下你可以以developer用户身份登录:

$ oc login -u developer -p developer

创建项目

在第一次启动时应该创建thingsboard项目。

要创建它请执行下一条命令:

$ oc new-project thingsboard

步骤1.查看架构页面

从ThingsBoard v2.2开始可以使用新的微服务架构和Docker容器安装ThingsBoard集群。

有关更多详细信息请参见microservices体系结构页面。

步骤2.克隆ThingsBoard CE Kubernetes脚本

git clone https://github.com/thingsboard/thingsboard-ce-k8s.git

.env文件中将PLATFORM字段的值设置为openshift

步骤3. 配置数据库

在执行初始安装之前可以配置与ThingsBoard一起使用的数据库的类型。 设置数据库类型在.env文件中的DATABASE变量的值更改为以下值:

  • postgres - 使用PostgreSQL数据库;
  • hybrid - 使用PostgreSQL保存实体Cassandra时间序列数据;

注意:根据数据库类型将部署相应的kubernetes资源(请参阅basic/postgres.ymlhigh-availability/postgres-ha.yaml进行复制的postgrescommon/cassandra.yml有关详细信息)。

步骤4. 选择部署类型

在执行初始安装之前你可以配置ThingsBoard部署的类型。

请将.env文件中的DEPLOYMENT_TYPE变量值更改为以下其中一个内容:

  • basic - 使用Zookeeper,Kafka和Redis的单个实例启动;
  • high-availability - 在集群模式下使用Zookeeper,Kafka和Redis启动;

注意:根据部署类型将部署相应的kubernetes资源(有关详细信息请参见basichigh-availability的内容)。

如果选择cassandra作为DATABASE则还可以配置Cassandra节点的数量(common/cassandra.yml配置文件中的StatefulSet.spec.replicas属性)和.env文件中的CASSANDRA_REPLICATION_FACTOR属性。建议有3个Cassandra节点的CASSANDRA_REPLICATION_FACTOR等于1。

注意: 如果你想配置CASSANDRA_REPLICATION_FACTOR请先阅读Cassandra文档。

另外要以high-availability部署模式运行PostgreSQL需要安装helm

步骤5.运行

执行以下命令以运行安装:

$ ./k8s-install-tb.sh --loadDemo

说明:

  • --loadDemo - 可选参数是否安装演示数据。

执行以下命令来部署第三方资源:

$ ./k8s-deploy-thirdparty.sh

如果是第一次在high-availabilityDEPLOYMENT_TYPE中运行ThingsBoard未配置Redis集群则在系统提示时输入‘yes’

执行以下命令以部署ThingsBoard资源:

$ ./k8s-deploy-resources.sh

要查看如何访问群集上的ThingsBoard应用程序请以developer用户身份登录(默认密码也为developer)打开thingsboard项目然后转到Application -> Routes菜单,你会看到所有已配置的路线。 root路由应类似于https://tb-route-node-root-thingsboard.127.0.0.1.nip.io/

你应该看到ThingsBoard登录页面。

使用以下默认凭据:

  • System Administrator: sysadmin@thingsboard.org / sysadmin

如果使用演示数据(使用--loadDemo标志)安装了数据库则还可以使用以下凭据:

  • Tenant Administrator: tenant@thingsboard.org / tenant
  • Customer User: customer@thingsboard.org / customer

如有任何问题可以检查服务日志中是否有错误。 例如要查看ThingsBoard节点日志请执行以下命令:

1)获取正在运行的tb节点容器的列表:

$ oc get pods -l app=tb-node

2)获取tb节点容器的日志:

$ oc logs -f [tb-node-pod-name]

说明:

  • tb-node-pod-name - 从正在运行的tb-node pod列表中获得的tb-node pod名称。

使用oc get pods来查看所有Pod的状态。 使用oc get services来查看所有服务的状态。 使用oc get deployments来查看所有部署的状态。 有关详细信息请参见[oc备忘单]oc Cheat Sheet命令参考。

执行以下命令删除所有ThingsBoard微服务:

$ ./k8s-delete-resources.sh

执行以下命令删除所有第三方微服务:

$ ./k8s-delete-thirdparty.sh

执行以下命令删除所有资源(包括数据库):

$ ./k8s-delete-all.sh

升级

如果需要数据库升级请执行以下命令:

$ ./k8s-delete-resources.sh
$ ./k8s-upgrade-tb.sh --fromVersion=[FROM_VERSION]
$ ./k8s-deploy-resources.sh

说明:

  • FROM_VERSION - 从哪个版本开始升级关于fromVersion值请参见升级说明

下一步

  • 入门指南 - 这些指南提供了ThingsBoard主要功能的快速概述。

  • 设备连接 - 了解如何根据您的连接方式或解决方案连接设备。

  • 数据看板 - 这些指南包含有关如何配置复杂的ThingsBoard仪表板的说明。

  • 数据处理 - 了解如何使用ThingsBoard规则引擎。

  • 数据分析 - 了解如何使用规则引擎执行基本的分析任务。

  • 硬件样品 - 了解如何将各种硬件平台连接到ThingsBoard。

  • 高级功能 - 了解高级ThingsBoard功能。

  • 开发指南 - 了解ThingsBoard中的贡献和开发。