产品定价 立即试用
社区版
使用Minikube的集群设置
入门 文档 指南 安装 架构 API 常见问题
目录

使用Minikube的集群设置

本指南将帮助您使用Minikube工具以集群模式搭建ThingsBoard。

前置条件

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

启用ingress插件

Minikube中默认禁用ingress插件,仅在集群提供商中可用。 要启用ingress,请执行以下命令:

1
minikube addons enable ingress

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

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

步骤4. 运行

执行以下命令运行安装:

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

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

1
minikube ip

您应能看到ThingsBoard登录页面。

使用以下默认凭据:

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

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

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

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

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

1
kubectl get pods -l app=tb-node

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

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

参数说明:

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

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

执行以下命令删除所有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 Minikube脚本合并。请勿忘记配置许可证密钥

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

下一步