产品定价 立即试用
社区版
使用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集群。 详见微服务架构页面了解更多信息。

步骤2. 克隆ThingsBoard CE Kubernetes脚本仓库

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

步骤3. 配置ThingsBoard数据库

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

  • postgres - 使用PostgreSQL数据库;
  • hybrid - 使用PostgreSQL作为实体数据库,Cassandra作为时序数据库;

注意:根据数据库类型,将部署对应的Kubernetes资源(详见postgres.ymlcassandra.yml)。

文档信息图标

如果选择cassandra作为DATABASE,还可以配置Cassandra节点数量(cassandra.yml配置文件中的StatefulSet.spec.replicas属性)和.env文件中的CASSANDRA_REPLICATION_FACTOR。 如需配置CASSANDRA_REPLICATION_FACTOR,请先阅读Cassandra文档。

建议使用3个Cassandra节点,CASSANDRA_REPLICATION_FACTOR设为2。

步骤5. 运行

执行以下命令运行安装:

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

参数说明:

  • --loadDemo - 可选参数。是否加载额外的演示数据。

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

1
./k8s-deploy-thirdparty.sh

如果您是首次以high-availability DEPLOYMENT_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登录页面。

使用以下默认凭据:

  • 系统管理员:sysadmin@thingsboard.org / sysadmin

如果安装时加载了演示数据(使用--loadDemo参数),还可使用以下凭据:

  • 租户管理员:tenant@thingsboard.org / tenant
  • 客户用户:customer@thingsboard.org / customer

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

1) 获取正在运行的tb-node Pod列表:

1
oc get pods -l app=tb-node

2) 查看tb-node Pod的日志:

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

参数说明:

  • tb-node-pod-name - 从运行中的tb-node Pod列表获取的Pod名称。

或使用oc get pods查看所有Pod状态。 或使用oc get services查看所有服务状态。 或使用oc get deployments查看所有部署状态。 详见oc快速参考

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

1
./k8s-delete-resources.sh

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

1
./k8s-delete-thirdparty.sh

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

1
./k8s-delete-all.sh

升级

如需升级,请从master分支拉取最新更改:

1
git pull origin master

然后执行以下命令:

1
2
3
./k8s-delete-resources.sh
./k8s-upgrade-tb.sh
./k8s-deploy-resources.sh

注意,必须逐版本升级(例如4.0.0 -> 4.0.1 -> 4.1.0等)。

文档信息图标

"--fromVersion" flag is required for earlier upgrade versions (prior to 3.9.1), for example:

# upgrading to v3.9.0...
./k8s-upgrade-tb.sh --fromVersion=3.8.1

See Upgrade Instructions for valid "fromVersion" values.

迁移到专业版

您还可以使用./k8s-upgrade-tb.sh脚本从社区版(CE)迁移到专业版(PE):

  1. 升级到最新的CE版本。

  2. 执行以下命令停止ThingsBoard资源:
    1
    
     ./k8s-delete-resources.sh
    
  3. 将您的配置与最新的PE OpenShift脚本合并。请勿忘记配置许可证密钥

  4. 运行以下升级脚本,将数据库数据从CE迁移到PE:
    1
    
     ./k8s-upgrade-tb.sh --fromVersion=CE
    
  5. 执行以下命令部署ThingsBoard资源:
    1
    
     ./k8s-deploy-resources.sh
    

下一步