在 KubeSphere 上快速安装和使用 KDP 云原生数据平台
![在 KubeSphere 上快速安装和使用 KDP 云原生数据平台](https://static001.geekbang.org/infoq/42/4219e49bb4fabc59a7a6ac4e993ae85c.jpeg)
金津,智领云高级研发经理。
华中科技大学计算机系硕士。加入智领云 7 余年,长期从事云原生、容器化编排领域研发工作,主导了智领云自研的 BDOS 应用云平台、云原生大数据平台 KDP 等产品的开发,并在多个大规模项目中成功实施落地,在大规模容器化编排系统方向有丰富的实践经验。
在 KubeSphere 上部署 KDP
技术简介
KubeKey[1]
KubeKey 是一个开源的 Kubernetes 安装程序和生命周期管理工具。它支持安装 Kubernetes 集群、KubeSphere 以及其他相关组件。
KubeSphere[2]
KubeSphere 是一个用于云原生应用程序管理的分布式操作系统,使用 Kubernetes 作为其内核。它提供了即插即用架构,允许第三方应用程序无缝集成到其生态系统中。
Kubernetes Data Platform[3]
KDP(Kubernetes Data Platform)提供了一个基于 Kubernetes 的现代化混合云原生数据平台,能够利用 Kubernetes 的云原生能力来有效地管理数据平台。KDP 是构建在 Kubernetes 之上的,因此可以与任意的 Kubernetes 管理平台快速集成。
总的来说,KubeSphere 和 KDP 组合在一起,能够为用户提供一套完善的、强大的、基于 Kubernetes 的现代化云原生应用数据平台。未来,通过 KubeSphere 的 LuBan 集成框架,可以将 KDP 开发成为 KubeSphere 的扩展组件,从而进一步深度融合进 KubeSphere。
先决条件
在 Kubernetes 上已安装 KubeSphere(快速开始可参考在 Kubernetes 上最小化安装 KubeSphere[4]):
![](https://static001.geekbang.org/infoq/d9/d9f3ed37cedeeb38ec8374563157f8aa.webp?x-oss-process=image%2Fresize%2Cp_80%2Fformat%2Cpng)
KubeSphere 安装完成后,登录 KubeSphere Web 控制台并确保监控组件已启用:
![](https://static001.geekbang.org/infoq/28/2872baea91d47d2eaa61132fccaff922.webp?x-oss-process=image%2Fresize%2Cp_80%2Fformat%2Cpng)
安装 KDP
假设您已经在一个 v1.26.x Kubernetes 集群上安装了 KubeSphere ,并开启了监控套件。
安装 KDP 命令行工具
可选使用本地终端工具或 KubeSphere 网页终端进行操作:
通过本地 Shell:打开您计算机上的 Bash 或 Zsh 终端。
通过 Web Kubectl[5]:
![](https://static001.geekbang.org/infoq/26/26850f1badde5eda7995e32521be116a.webp?x-oss-process=image%2Fresize%2Cp_80%2Fformat%2Cpng)
在网页或本地终端中,请执行以下命令以安装 KDP 命令行工具(注:若使用网页终端,因其无状态特性,每次新建立会话都需要重新安装 KDP 命令行工具):
安装 KDP 基础平台
执行以下命令以安装 KDP 基础平台:
访问 KDP UX
等待安装完成:
![](https://static001.geekbang.org/infoq/16/16b251169ef09256d3f4eed3f75c6ad1.webp?x-oss-process=image%2Fresize%2Cp_80%2Fformat%2Cpng)
转到 KubeSphere Web 控制台,并在菜单 “应用负载” -> “应用路由” 中找到名为 'kdp-ux' 的应用路由对象:
![](https://static001.geekbang.org/infoq/42/42d510651ea219c3c428a7b1cc294cdd.webp?x-oss-process=image%2Fresize%2Cp_80%2Fformat%2Cpng)
点击并进入'kdp-ux'应用路由的详细页面,然后点击路径'/'的'访问服务'按钮,KDP UX 将在新标签页中打开:
![](https://static001.geekbang.org/infoq/8b/8bf809e5b54a87fa1e2916bb0160ee4f.webp?x-oss-process=image%2Fresize%2Cp_80%2Fformat%2Cpng)
您现在可以使用 KDP Web 控制台来建设自己的数据平台。有关使用数据组件的更多教程,请参考教程目录[6]:
![](https://static001.geekbang.org/infoq/a0/a0b44f27c6bbd4519a0561e69e67bd0e.webp?x-oss-process=image%2Fresize%2Cp_80%2Fformat%2Cpng)
在 KDP 上快速交付 Kafka
KDP 提供开箱即用的开源 Kafka K8s 运行时,主要包括:Strimzi Kafka Operator、Kafka Cluster、Kafka Manager 等。用户通过 KDP 可以高效便捷地交付和运维 Kafka 套件,KDP 为数据组件运行时提供完善的生命周期管理以及监控、告警、日志的自动化集成。
Kafka 简介
Kafka[7],Apache Kafka 是一个分布式事件流平台。基于 Kafka,可以构建高吞吐量、高扩展性的消息中间件服务。适用于日志采集、流式数据处理、流量削峰填谷等场景。Kafka 具备高可靠、高并发访问、可扩展的特性是大数据生态系统中不可或缺的组成部分。
在 KDP 上部署 Kafka 套件
以下展示的是如何在 KDP 上快速交付 Kafka 套件:
通过 KDP 应用目录安装 Kafka Operator 及 Kafka Cluster
![](https://static001.geekbang.org/infoq/f2/f2c617483c8b085f1ba40aff51a5f956.webp?x-oss-process=image%2Fresize%2Cp_80%2Fformat%2Cpng)
部署过程中可以实时查看 Pod 日志
![](https://static001.geekbang.org/infoq/ea/ea69abd028270becde6b2db3a6beffb0.webp?x-oss-process=image%2Fresize%2Cp_80%2Fformat%2Cpng)
待 ZK 集群与 Kakfa 集群所有 Pod 运行就绪
![](https://static001.geekbang.org/infoq/0b/0ba387dcafd37495bca39970884a5a75.webp?x-oss-process=image%2Fresize%2Cp_80%2Fformat%2Cpng)
KDP 提供应用实例下所有底层 K8s 资源拓扑展示
![](https://static001.geekbang.org/infoq/56/568c9157c5823f52a7e298130c849373.webp?x-oss-process=image%2Fresize%2Cp_80%2Fformat%2Cpng)
待 Kafka Cluster 运行正常后,继续安装好 Kafka Manager;完成后,应用实例界面右上角可快速打开 Kafka Manager 的页面
![](https://static001.geekbang.org/infoq/d7/d7f6d730ccd2ec69373822187e01ec94.webp?x-oss-process=image%2Fresize%2Cp_80%2Fformat%2Cpng)
创建一个 Topic
以上我们已经在 KDP 上快速交付了一套 Kafka Cluster 以及 Kafka Manager(开源的 Kafka 界面管理工具),接下来我们基于 Kafka 界面管理工具来创建一个 Topic:
进入 Kafka Manager 界面,可以看到已自动导入我们安装好的 Kafka Cluster
![](https://static001.geekbang.org/infoq/1c/1caf112f66ae0511a40b4a16eeb01f79.webp?x-oss-process=image%2Fresize%2Cp_80%2Fformat%2Cpng)
在 Kafka Manager 界面上创建一个 topic "my-2nd-topic"
![](https://static001.geekbang.org/infoq/b0/b08b537c1c61bb6de34246519a170fda.webp?x-oss-process=image%2Fresize%2Cp_80%2Fformat%2Cpng)
完成后,在 Topic 列表中可以看到我们新建的 topic
![](https://static001.geekbang.org/infoq/d3/d328b70a2bdcd38546199eb97a4c536e.webp?x-oss-process=image%2Fresize%2Cp_80%2Fformat%2Cpng)
从 KDP 内置的监控面板上 topic 的指标数据中,我们也可以观测到 topic 数量从 1 变为了 2
![](https://static001.geekbang.org/infoq/e8/e8f841326949f364e0e2583512c78124.webp?x-oss-process=image%2Fresize%2Cp_80%2Fformat%2Cpng)
相关链接
【教程文档】在 KubeSphere 上安装 KDP 101:https://linktimecloud.github.io/kubernetes-data-platform/docs/zh/user-tutorials/install-kdp-on-kubesphere-101.html
【教程文档】如何与 KDP 上的 Kafka 快速集成:https://linktimecloud.github.io/kubernetes-data-platform/docs/zh/user-tutorials/integration-kafka-with-int-ext-comps.html
【演示视频】如何在 KubeSphere 容器平台上快速部署和使用 KDP :
智领云科技
引用链接
[1]
96KubeKey: https://github.com/kubesphere/kubekey
[2]
KubeSphere: https://github.com/kubesphere/kubesphere
[3]
Kubernetes Data Platform: https://www.linktimecloud.com/kubernetes-data-platform
[4]
快速开始可参考在 Kubernetes 上最小化安装 KubeSphere: https://kubesphere.io/zh/docs/v3.4/quick-start/minimal-kubesphere-on-k8s/
[5]
Web Kubectl: https://kubesphere.io/zh/docs/v3.4/toolbox/web-kubectl/
[6]
[7]
版权声明: 本文为 InfoQ 作者【智领云科技】的原创文章。
原文链接:【http://xie.infoq.cn/article/99c7e8aec8e10df971883d199】。文章转载请联系作者。
评论