本指南将帮助你使用Minikube工具以集群模式设置ThingsBoard。
ThingsBoard微服务在Kubernetes集群上运行你需要有一个Kubernetes集群并且必须配置kubectl
命令行工具才能与你的集群通信。
如果尚未安装Minikube按照说明进行操作。
默认情况下在Minikube中禁用了ingress插件并且仅在集群提供程序中可用。
启用入口请执行以下命令:
$ minikube addons enable ingress
从ThingsBoard v2.2开始可以使用新的微服务架构和Docker容器安装ThingsBoard集群。
有关更多详细信息请参见microservices体系结构页面。
git clone https://github.com/thingsboard/thingsboard-ce-k8s.git
在.env
文件中将PLATFORM
字段的值设置为minikube
。
在执行初始安装之前可以配置与ThingsBoard一起使用的数据库的类型。
设置数据库类型在.env
文件中的DATABASE
变量的值更改为以下值:
postgres
- 使用PostgreSQL数据库;hybrid
- 使用PostgreSQL保存实体Cassandra时间序列数据;注意:根据数据库类型将部署相应的kubernetes资源(请参阅basic/postgres.yml
或high-availability/postgres-ha.yaml
进行复制的postgrescommon/cassandra.yml
有关详细信息)。
在执行初始安装之前你可以配置ThingsBoard部署的类型。
请将.env
文件中的DEPLOYMENT_TYPE
变量值更改为以下其中一个内容:
basic
- 使用Zookeeper,Kafka和Redis的单个实例启动;high-availability
- 在集群模式下使用Zookeeper,Kafka和Redis启动;注意:根据部署类型将部署相应的kubernetes资源(有关详细信息请参见basic
和high-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
。
执行以下命令以运行安装:
$ ./k8s-install-tb.sh --loadDemo
说明:
--loadDemo
- 可选参数是否安装演示数据。执行以下命令来部署第三方资源:
$ ./k8s-deploy-thirdparty.sh
如果是第一次在high-availability
的DEPLOYMENT_TYPE
中运行ThingsBoard未配置Redis集群则在系统提示时输入‘yes’。
执行以下命令以部署ThingsBoard资源:
$ ./k8s-deploy-resources.sh
当所有资源都成功启动后可以在浏览器中打开http://{your-cluster-ip}
(例如http://192.168.99.101
)。
你可以使用以下命令查看群集IP:
$ minikube ip
你应该看到ThingsBoard登录页面。
使用以下默认凭据:
如果使用演示数据(使用--loadDemo
标志)安装了数据库则还可以使用以下凭据:
如有任何问题可以检查服务日志中是否有错误。 例如要查看ThingsBoard节点日志请执行以下命令:
1)获取正在运行的tb节点容器的列表:
$ kubectl get pods -l app=tb-node
2)获取tb节点容器的日志:
$ 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微服务:
$ ./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中的贡献和开发。