技术交流

学习资料

立即试用 商务报价
社区版
社区版 专业版 云服务 Edge Edge PE 网关 授权服务 Trendz分析 Mobile 应用程序 Mobile PE应用程序
OpenShift集群安装
入门 文档 指南 安装 架构 API 常见问题

本页目录

OpenShift集群安装

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

先决条件

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

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

登录OpenShift集群

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

1
oc login -u developer -p developer

创建项目

在第一次启动时应该创建thingsboard项目。
要创建它请执行下一条命令:

1
oc new-project thingsboard

步骤1. 查看架构页面

从ThingsBoard v2.2开始可以使用新的微服务架构和Docker容器安装ThingsBoard集群。
有关更多详细信息请参见microservices体系结构页面。

步骤2. 克隆脚本

1
2
git clone -b release-3.5.1 https://github.com/thingsboard/thingsboard-ce-k8s.git
cd thingsboard-ce-k8s/openshift

步骤3. 配置数据库

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

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

注意:根据数据库类型将部署相应的kubernetes资源(请参见postgres.yml, cassandra.yml)相关详细信息。

如果你选择cassandra作为DATABASE 可以配置副本数量(StatefulSet.spec.replicas属性在cassandra.yml配置文件)和CASSANDRA_REPLICATION_FACTOR.env文件中 如果配置cassandra_replication_factor请先阅读Cassandra文档。

建议有3个CASSANDRA_REPLICATION_FACTOR等于2的节。

步骤5. 运行

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

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

说明:

  • --loadDemo -可选参数用于是否加载演示数据。

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

1
./k8s-deploy-thirdparty.sh

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

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

1
./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节点容器的列表:

1
oc get pods -l app=tb-node

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

1
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微服务:

1
./k8s-delete-resources.sh

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

1
./k8s-delete-thirdparty.sh

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

1
./k8s-delete-all.sh

升级

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

1
2
3
./k8s-delete-resources.sh
./k8s-upgrade-tb.sh --fromVersion=[FROM_VERSION]
./k8s-deploy-resources.sh

说明:

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

下一步

  • 入门指南 - 快速学习ThingsBoard相关功能。

  • 连接设备 - 学习如何根据你的连接方式或解决方案连接设备。

  • 可 视 化 - 学习如何配置复杂的ThingsBoard仪表板说明。

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

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

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

  • 高级功能 - 学习高级ThingsBoard功能。

  • 开发指南 - 学习ThingsBoard中的贡献和开发。