基于k8s部署thingsboard3.4.4(单机、微服务)

概述大纲

以微服务方式,部署thingsboard,探索云原生技术。

配合使用KubeSphere,一个以 Kubernetes 为内核的云原生分布式操作系统,降低k8s使用门槛,可视化方式应对部署thingsboard过程中问题,观察部署thingsboard状态,同时方便后续维护。

image-20230512165511-xw7migu.png
image-20230513113001-kp2j5gy.png
image-20230513113036-du5usw7.png
image-20230513113150-azhayit.png

前置条件

ThingsBoard微服务在Kubernetes集群上运行你需要有一个Kubernetes集群并且必须配置kubectl命令行工具才能与你的集群通信。

1、本次教程不用安装Minikube,但需要提前安装好Kubernetes集群

2、建议全新的linux,在 Linux 上以 All-in-One 模式安装 KubeSphere,同时完成Kubernetes集群

在 Linux 上以 All-in-One 模式安装 KubeSphere:https://kubesphere.io/zh/docs/v3.3/quick-start/all-in-one-on-linux/

thingsboard3.4.4安装参考:基于Minikube集群安装方式 Cluster setup using Minikube | ThingsBoard Community Edition

第 1 步,查看thingsboard体系结构

参考:物联网板微服务架构 |事物板社区版 (thingsboard.io)

第 2 步,复制安装脚本到本地目录, ThingsBoard CE Kubernetes scripts repository

git clone -b release-3.4.4 https://github.com/thingsboard/thingsboard-ce-k8s.git

cd thingsboard-ce-k8s/minikube

第 3 步。配置 ThingsBoard 数据库

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

  • postgres- 使用PostgreSQL数据库;
  • hybrid- 将PostgreSQL用于实体数据库,将Cassandra用于时间序列数据库;

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

[图片上传失败...(image-d4369c-1684206046587)]如果选择为 ,您还可以配置 Cassandra 节点的数量(配置文件中的属性)和 in 文件。如果要配置,请先阅读 Cassandra 文档。cassandraDATABASEStatefulSet.spec.replicascassandra.ymlCASSANDRA_REPLICATION_FACTOR.envCASSANDRA_REPLICATION_FACTOR

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

如果测试,不用修改安装脚本,默认使用PostgreSQL数据库

第 4 步,运行安装脚本

执行以下命令运行安装:

./k8s-install-tb.sh --loadDemo
  • --loadDemo- 可选参数。是否加载其他演示数据。
  • 通过KubeSphere观察pod启动及完成状态,再执行下一步。

[图片上传失败...(image-33e3b6-1684206046587)]

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

./k8s-deploy-thirdparty.sh
#通过KubeSphere观察pod启动及完成状态,再执行下一步。

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

./k8s-deploy-resources.sh

#通过KubeSphere观察pod启动及完成状态,再执行下一步。

Thingsboard空间内部,容器组全部正常启动

第 5 步,启用入口插件

在KubeSphere开启项目网关,允许被外网访问

KubeSphere 项目中的网关是一个 NGINX Ingress 控制器。KubeSphere 内置的用于 HTTP 负载均衡的机制称为应用路由,它定义了从外部到集群服务的连接规则。如需允许从外部访问服务,用户可创建路由资源来定义 URI 路径、后端服务名称等信息。

KubeSphere 除了提供项目范围的网关外,还提供集群范围的网关,使得所有项目都能共享全局网关。

准备工作

您需要创建一个企业空间、一个项目和一个用户 (project-admin)。该用户必须被邀请至项目,并且在项目中的角色为 admin。有关更多信息,请参见创建企业空间、项目、用户和角色

设置网关
  1. 以 project-admin 用户登录 KubeSphere Web 控制台,进入您的项目,从左侧导航栏进入项目设置下的高级设置页面,然后点击设置网关。

  2. 在弹出的对话框中选择网关的访问方式。

    NodePort:通过网关访问服务对应的节点端口。
    LoadBalancer:通过网关访问服务的单独 IP 地址。

  3. 在设置网关对话框,您可以启用应用治理以使用 Tracing 功能和不同的灰度发布策略。如果启用应用治理后无法访问路由,请在路由 (Ingress) 中添加注解(例如 nginx.ingress.kubernetes.io/service-upstream: true)。

  4. 选择访问方式后点击保存。

image-20230513112309-pp4fh1e.png

一段时间后,当所有资源都成功启动时,您可以在浏览器中打开。上图中(网关地址+节点端口)

参考资料

  1. KubeSphere 3.3.0 发布:全面拥抱 GitOps:https://kubesphere.io/zh/news/kubesphere-3.3.0-ga-announcement/
  2. 在 Linux 上以 All-in-One 模式安装 KubeSphere:https://kubesphere.io/zh/docs/v3.3/quick-start/all-in-one-on-linux/
  3. thingsboard3.4.4安装参考:基于Minikube集群安装方式: Cluster setup using Minikube | ThingsBoard Community Edition

来源 | 知识星球 | 物联网低代码平台的价值
声明:如转载,请注明本文链接,谢谢合作。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容