技术交流

学习资料

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

本页目录

Minikube集群安装

本指南将帮助你使用Minikube工具以集群模式设置ThingsBoard。

先决条件

ThingsBoard微服务在Kubernetes集群上运行你需要有一个Kubernetes集群并且必须配置kubectl命令行工具才能与你的集群通信。
如果尚未安装Minikube按照说明进行操作。

启用ingress插件

默认情况下在Minikube中禁用了ingress插件并且仅在集群提供程序中可用。
启用ingress请执行以下命令:

1
minikube addons enable ingress

步骤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/minikube

步骤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的节。

步骤4. 运行

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

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

说明:

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

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

1
./k8s-deploy-thirdparty.sh

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

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

1
./k8s-deploy-resources.sh

当所有资源都成功启动后可以在浏览器中打开http://{your-cluster-ip}(例如http://192.168.99.101)。
你可以使用以下命令查看群集IP:

1
minikube ip

你应该看到ThingsBoard登录页面。

使用以下默认凭据:

  • System Administrator: sysadmin@thingsboard.org / sysadmin

  • System Administrator: sysadmin@thingsboard.org / sysadmin

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

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

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

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

1
kubectl get pods -l app=tb-node

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

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

说明:

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

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

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

1
./k8s-delete-resources.sh

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

1
./k8s-delete-thirdparty.sh

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

1
./k8s-delete-all.sh

升级

如果升级请从master分支切换到latest分支:

1
git pull origin master

然后执行以下命令:

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中的贡献和开发。