基于 KubeSphere 部署 KubeBlocks 实现数据库自由

news2024/11/29 1:52:21

作者:尹珉, KubeSphere Contributor & Ambassador,KubeSphere 社区用户委员会杭州站站长。

KubeSphere 是什么?

KubeSphere 是在 Kubernetes 之上构建的面向云原生应用的分布式操作系统,完全开源,支持多云与多集群管理,提供全栈的 IT 自动化运维能力,简化企业的 DevOps 工作流。它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用 (plug-and-play) 的集成。作为全栈的多租户容器平台,KubeSphere 提供了运维友好的向导式操作界面,帮助企业快速构建一个强大和功能丰富的容器云平台。KubeSphere 为用户提供构建企业级 Kubernetes 环境所需的多项功能,例如多云与多集群管理、Kubernetes 资源管理、DevOps、应用生命周期管理、微服务治理(服务网格)、日志查询与收集、服务与网络、多租户管理、监控告警、事件与审计查询、存储管理、访问权限控制、GPU 支持、网络策略、镜像仓库管理以及安全管理等。

KubeBlocks 是什么?

KubeBlocks 这个名字来源于 Kubernetes 和 LEGO 积木,这表明在 Kubernetes 上构建数据库和分析型工作负载既高效又愉快,就像玩乐高玩具一样。KubeBlocks 将顶级云服务提供商的大规模生产经验与增强的可用性和稳定性改进相结合,帮助用户轻松构建容器化、声明式的关系型、NoSQL、流计算和向量型数据库服务。

官网:https://kubeblocks.io/。

为什么需要 KubeBlocks?

Kubernetes 已经成为容器编排的事实标准。它利用 ReplicaSet 提供的可扩展性和可用性以及部署提供的推出和回滚功能来管理数量不断增加的无状态工作负载。然而,管理有状态工作负载给 Kubernetes 带来了巨大的挑战。尽管 StatefulSet 提供了稳定的持久存储和唯一的网络标识符,但这些功能对于复杂的有状态工作负载来说远远不够。

为了应对这些挑战,并解决复杂性问题,KubeBlocks 引入了新的 workload——RSM(Replicated State Machines),具有以下能力:

  • 基于角色的更新顺序可减少因升级版本、缩放和重新启动而导致的停机时间。
  • 维护数据复制的状态,并自动修复复制错误或延迟。

它俩结合会带来什么收益?

KubeSphere 提供了一个成熟的 Kubernetes 容器管理平台,而 KubeBlocks 在其上构建了数据库专业能力。这种创新融合,打通了数据库服务容器化的技术壁垒,实现了“开箱即用”。KubeSphere 让 KubeBlocks 应用享受集群级的资源调度和服务治理。KubeBlocks 使数据库服务在 KubeSphere 中具备自动化运维的专业实力。两者的协同互补,不仅简化了数据库的云化改造,也使数据库应用交付更加快速和可靠。

部署开始

部署先决条件

  • 确保已有可用的 KubeSphere 平台,如还未部署请至官网进行部署即可。官网地址:https://kubesphere.io/zh/docs/v3.4/。

  • 确保宿主机网络互通并可以访问互联网。

登录 KubeSphere 平台添加 KubeBlocks 官方仓库

仓库地址:https://apecloud.github.io/helm-charts。

选择干净的 NameSpace 添加 KubeBlocks 服务

1. 导航并点击右侧【创建】按钮

2. 选择【应用模板】

3. 选择刚才创建的【应用仓库】并搜索到 KubeBlocks 服务

4. 选择目前的稳定版本【0.6.1】

5. 默认不需要改 Values 的值,额外要注意 StorageClass 的配置

6. 耐心等待后,确认应用服务启动状态正常

安装 kbcli

目前支持 macOS、Windows、Linux。本教程以 Linux 为例。

1. 安装 kbcli

curl -fsSL https://kubeblocks.io/installer/install_cli.sh | bash

2. 验证安装

kbcli version

3. 检查刚才部署的 Kubeblocks 相关信息

kbcli kubeblocks status

创建并连接到 MySQL 实例

说明:
KubeBlocks 官方支持 kbcli 和 kubectl 创建集群。本教程使用 kbcli 作为演示。

1. 查看可用于创建集群的所有数据库类型和版本

kbcli clusterdefinition list

kbcli clusterversion list

2. 创建 MySQL 实例

kbcli cluster create mysql mycluster

3. 检查实例状态

kbcli cluster list

4. 连接到 MySQL 实例

kbcli cluster connect mycluster -n default

总结

KubeSphere 提供了 GUI 和 DevOps 工具,大大降低了 Kubernetes 学习和使用门槛。KubeBlocks 基于 K8s Operator 模式实现了应用解耦和复用,是云原生架构的重要选择。双方深度融合,发挥各自在易用性和敏捷开发上的优势。KubeSphere 让 KubeBlocks 更易部署和使用,KubeBlocks 让应用在 KubeSphere 上更灵活弹性。通过结合两者优势,企业能够更轻松实施以应用为中心的数字化转型,实现业务创新。

本文由博客一文多发平台 OpenWrite 发布!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1111323.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用HTML制作一个摊煎饼小游戏

铁打的行业流水的人,与其被动等待35岁的到来,不如主动出击探索副业,实现一个HTML摊煎饼小游戏,结合传统方法和现代技术,致力于制作出既美味又有创意的煎饼。 目录 引言简介游戏背景 所需材料和工具HTML基础知识CSS样式…

python作图

最重要的一张图了,有助于了解一下图的各个组成部分。最重要的一句话就是 Figure包含至少一个Axes,每个Axes可以被认为是一个模块(包含坐标轴,标题,图像内容等)。因此,创建单图的时候就是在Figur…

BAT028:批量将文件修改日期后缀更新为最新修改日期

引言:编写批处理程序,实现批量将文件修改日期后缀更新为最新修改日期。 一、新建Windows批处理文件 参考博客: CSDNhttps://mp.csdn.net/mp_blog/creation/editor/132137544 二、写入批处理代码 1.右键新建的批处理文件,点击【…

文本识别工具 TextSniper for Mac有哪些特点

TextSniper 是一款 macOS 平台上的文本提取工具,它可以将屏幕上的文字内容快速转换为可编辑的文本。无论是从图像、视频、PDF 文件还是其他类型的文档中提取文字,TextSniper 都提供了便捷的功能。 以下是 TextSniper的一些主要特点和功能: …

智慧粮仓粮库解决方案:视频+AI识别技术赋能,守护大国粮仓

一、需求背景 我国作为世界人口大国,农产品需求量庞大,保障粮食等重要农产品安全是经济社会稳定发展的重要基础。粮食安全涉及到生产、收购、加工、储藏、销售等全产业链,既涉及新型基础设施建设,也有对软件技术等专业能力要求。…

我的128创作纪念日

我的创作128纪念日 🎈1.机缘🎈2.收获🎈3.反思与憧憬 🎈1.机缘 2023年6月13日的那天,开始了CSDN的创作之旅,那时的我还是一名大一的学生,机缘巧合下开始了创作,主要也是分享自己在学习…

Apache Doris (四十二): RECOVER数据删除恢复

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录

web前端面试-- IEEE754标准JS精度丢失问题0.1+0.2!=0.3、0.2+0.3==0.5 十进制转二进制讲解

本人是一个web前端开发工程师,主要是vue框架,整理了一些面试题,今后也会一直更新,有好题目的同学欢迎评论区分享 ;-) web面试题专栏:点击此处 背景 WEB前端面试官:0.20.3是否等于0.5&#xff…

文心一言 VS 讯飞星火 VS chatgpt (116)-- 算法导论10.3 1题

一、用go语言,画图表示序列(13,4,8,19,5,11),其存储形式为多数组表示的双向链表。同样画出单数组表示的形式。 文心一言: 在Go语言中,我们无法直接画图,但我…

用Python造轮子

目录 背景安装setuptools库准备要打包的代码创建setup.py文件打包生成whl文件把库装到电脑上使用这个库 背景 如何把自己写的代码,打包成库方便其他人使用 安装setuptools库 正所谓想要富先修路,先把造轮子要用的库装上 pip install wheel pip insta…

C# Socket通信从入门到精通(1)——单个同步TCP客户端C#代码实现

前言: Socket通信中有tcp通信,并且tcp有客户端和服务器,本文介绍的就是如何使用c#去实现一个tcp客户端,并且由于c#中有多种方式可以实现tcp客户端的功能,本文介绍的是使用TcpClient类来实现tcp客户端功能(如需源码,订阅专栏后加入文章底部qq群获取),demo软件界面如下…

供应链 | 零售商-供应商柔性承诺契约:一种鲁棒优化方法 (二)

原文作者:Aharon Ben-Tal, Boaz Golany, Arkadi Nemirovski, Jean-Philippe Vial​ 引用:Ben-Tal, A., Golany, B. , Nemirovski, A., & Vial, J. P… (2005). Retailer-supplier flexible commitments contracts: a robust optimization approach. …

View 自定义 - 概览

一、体系 详见:Activity、Window、DecorView、ViewRoot 之间的关系 二、绘制前的准备 DecorView 详见:DecorView 顶部图中可以看出 ViewRoot 最后一步是绘制,在绘制之前系统会有一些准备,即前面几个步骤:创建PhoneW…

D/A变换器隔离变送器PWM信号转模拟量1Hz~10KHz转0-5V/0-10V/4-20mA

主要特性: >>精度等级:0.1级。产品出厂前已检验校正,用户可以直接使用 >>辅助电源:8-32V 宽范围供电 >>PWM脉宽调制信号输入: 1Hz~10KHz >>输出标准信号:0-5V/0-10V/1-5V,0-10mA/0-20mA/4-20mA等&…

绝地求生游戏缺少msvcp140.dll丢失打不开怎么办?这6个方法都能修复

计算机系统中,我们经常遇到各种错误和问题。其中,“MSCVCP140.DLL丢失”是一个常见的错误,它通常出现在运行某些程序或游戏时。这个DLL文件是Microsoft Visual C 2015 Redistributable的一部分,如果它丢失或损坏,可能会…

Spring Boot 可以同时处理多少请求?

文章目录 Spring Boot 的请求处理能力1. 硬件资源2. 应用程序的设计3. 配置4. 运行时环境 基准测试和性能优化高性能的 Spring Boot 应用程序示例结论 🎉欢迎来到架构设计专栏~Spring Boot 可以同时处理多少请求? ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#…

凝聚技术力量 共建测试生态 ——集成电路测试技术交流日成功举办

10月18日下午,凝聚技术力量,共建测试生态 ——集成电路测试技术交流会在上海成功举办。来自全国各地知名专家学者、技术大咖及企业代表齐聚一堂,共同探讨封装测试技术的发展方向,共话产业未来,共促产业发展。 本次活动…

Web前端—盒子模型:选择器、PxCook、盒子模型、正则表达式、综合案例(产品卡片与新闻列表)

版本说明 当前版本号[20231019]。 版本修改说明20231018初版20231019补充了综合案例二新闻列表的代码及完善部分代码 目录 文章目录 版本说明目录盒子模型01-选择器结构伪类选择器基本使用:nth-child(公式)伪元素选择器 02-PxCook03-盒子模型盒子模型-组成边框线四个方向单方…

Linux将磁盘空闲空间转移到其他目录下(home目录转移到root目录下)

目录 1、查看分区 2、备份home分区文件 (重要) 3、卸载/home 4、删除/home所在的lv 5、扩展/root所在的lv(我这里还扩展了、dev/sr0) 6、扩展/root文件系统。 7、重新创建home lv 创建时计算好剩余的磁盘容量,建…

html或web页面一键打包为apk

最近需要将html通过app的方式发布,但是苦于不会android,因此在网上找到了一个打包apk的工具。 官方首页:Download v5.2 Pro | Website 2 APK Builder (With App Bundle .aab support) 官方文档:入门 |文档 - 网站 2 APK 生成器 (websitetoa…