完成产品兼容互认,用KubeBlocks可实现OceanBase集群管理

本文转载自云猿生聊技术(CloudNativeDataTech)

前言

KubeBlocks(简称 KB)在最新发布的0.7版本中,通过组件扩展(Addon)的形式新增了对OceanBase的支持功能。这一更新为企业级和非企业级用户提供了更为便捷的方式,能够在Kubernetes环境中创建和运维OceanBase数据库。

OceanBase × KubeBlocks

OceanBase是完全自主研发的分布式关系型数据库。它具备高性能、数据强一致性、高可用性等特点,支持在线扩缩容,并高度兼容SQL标准和主流关系型数据库,并可帮助企业实现规模化降本,已被1000+企业应用。

KubeBlocks 是一个开源的在 K8s 上运行和管理数据基础设施的系统软件,旨在帮助开发人员、SRE、平台工程师在企业中部署和维护专用的 DBPaaS,并支持多种公共云和私有云环境部署。

1701416728

KubeBlocks Architecture

KubeBlocks 是目前 CNCF Cloud Native LANDSCAPE 收录的唯一的开源多引擎数据 / 数据库管理系统项目。KubeBlocks 实现了对多种数据(库)系统的统一的抽象, 具有以下特点:

  • 性能:KubeBlocks 容器和云环境对 MySQL 与 PostgreSQL 数据库的内核和参数进行优化,性能超过同规格 RDS。
  • 可用性:KubeBlocks 支持多种数据库的高可用集群配置,对 MySQL 支持 Raft 三节点复制,从而实现 RPO=0。
  • 可观察性:KubeBlocks 从丰富的数据源采集监控指标,集成了 Prometheus 堆栈,并提供了富有洞察力的 Grafana 模板。此外,还提供慢日志等排查工具。
  • 可扩展性:KubeBlocks 对接入一个新的数据库引擎提供了良好的抽象,通过组件扩展(Addon)机制可以快速集成,并提供一致的使用体验和预期行为。

KubeBlocks 0.7 版本现已支持 30+ 数据(库)系统组件[3]。

在 KubeBlocks 社区的 0.7 版本,KubeBlocks 完成了与 OceanBase 开源版的适配。正是因为 KubeBlocks 提供的一致性体验,KubeBlocks 社区用户可以“0学习成本”快速掌握创建和运维 OceanBase 集群的方式。证书见后文。

轻松集成

KubeBlocks 对数据库系统的高度抽象带来的扩展性,方便开发者轻松扩展一款新的数据库。细心读者已经发现了,该 PR 只包含 500 行代码,其中大部分是 YAML。

1701416764

感谢来自 @Powerfool 同学的贡献

使用 KubeBlocks 轻松管理 OceanBase 集群

准备工作

1. 安装 KubeBlocks 和 kbcli

如果这是你第一次使用 KubeBlocks,请先安装 KubeBlocks 和 kbcli。

  • 安装 kbclicurl -fsSL https://kubeblocks.io/installer/install_cli.sh | bash
  • 安装 KubeBlockskbcli kubeblocks install

更多安装方式请参考 KubeBlocks 官方文档: https://kubeblocks.io

2. 查看 OceanBase 组件版本
  • 更新 KubeBlocks repohelm repo add kubeblocks https://apecloud.github.io/helm-chartshelm repo update kubeblocks
  • 查看最新的 OceanBase 组件版本helm search repo kubeblocks/oceanbase>NAME CHART VERSION APP VERSION DESCRIPTIONkubeblocks/oceanbase 0.7.1 4.2.0.0-100010032023083021 Unlimited scalable distributed database for dat...kubeblocks/oceanbase-cluster 0.7.1 4.2.0.0-100010032023083021 A oceanbase cluster Helm chart for KubeBlocks.

可以看到最新的 helm chart 版本为 v0.7.1,可以部署OceanBase v4.2.0。

其中 kubeblocks/oceanbase 就是 OceanBase 的组件扩展,定义了符合 KubeBlocks 统一抽象模型的 OceanBase 数据库拓扑(包括有哪些组件,如何配置和启动)。

kubeblocks/oceanbase-cluster 提供了创建 OceanBase 数据库所需资源(CPU,Memory,Disk,Replica 等)的最佳实践。

KubeBlocks 0.7 版本已经集成了 30+ 数据(库)系统组件,可以通过类似方式查看。完整列表请参考:https://kubeblocks.io/docs/release-0.7/user_docs/overview/supported-addons
3. 安装 OceanBase 组件扩展
helm install oceanbase kubeblocks/oceanbase --version 0.7.1

该组件只需安装一次。

创建 OceanBase 集群

仅需一条命令行,即可快速拉起一个 OceanBase 集群。

helm install obcluster  kubeblocks/oceanbase-cluster --version 0.7.1

查看 pod,可以看到一个三节点的 OceanBase 集群成功创建:

kubectl get po -l app.kubernetes.io/instance=obcluster-oceanbase-cluster>NAME                                      READY   STATUS    RESTARTS   AGEobcluster-oceanbase-cluster-ob-bundle-0   1/1     Running   0          13mobcluster-oceanbase-cluster-ob-bundle-1   1/1     Running   0          11mobcluster-oceanbase-cluster-ob-bundle-2   1/1     Running   0          9m10s

连接 OceanBase 集群

KubeBlocks 命令行工具 kbcli 提供便捷的集群运维和管理命令的同时,也提供了丰富的运维操作,让用户以一致的体验操作不同的数据库引擎。例如,可通过 connect 命令连接到刚创建的 OceanBase 集群:

kbcli cluster connect obcluster-oceanbase-cluster

即可开始你的 OceanBase 之旅。

水平扩展 OceanBase 集群

若 3 个节点已经无法满足你的业务需求,可以快速扩展为 5 个节点。

kbcli cluster hscale obcluster-oceanbase-cluster --components ob-bundle --replicas 5

未来 KubeBlocks 还会和 OceanBase 深度合作,完善对 OceanBase 的深度运维能力,为企业级和非企业级用户提供更加便捷的数据库使用和运维体验。

参考资料

[1]KubeBlocks 官网: https://kubeblocks.io/OceanBase 官网: https://www.oceanbase.com/KubeBlocks 已支持 30+ 数据(库)系统组件: https://kubeblocks.io/docs/release-0.7/user_docs/overview/supported-addons

🌟 GitHub: GitHub - oceanbase/oceanbase: OceanBase is an enterprise distributed relational database with high availability, high performance, horizontal scalability, and compatibility with SQL standards.

🌟 GitHub:  GitHub - apecloud/kubeblocks: KubeBlocks is an open-source control plane that runs and manages databases, message queues and other data infrastructure on K8s.

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

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

相关文章

计算机视觉入门:开启图像理解之旅

🧑 作者简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向的学习指导…

记某客户的一次无缝数据迁移

背景 客户需要将 Elasticsearch 集群无缝迁移到移动云,迁移过程要保证业务的最小停机时间。 实现方式 通过采用成熟的 INFINI 网关来进行数据的双写,在集群的切换恢复过程中来记录数据变更,待全量数据恢复之后再追平后面增量数据&#xff…

数据结构__顺序表和单链表

顺序表的改进 问题: 1. 中间/头部的插入删除,时间复杂度为O(N) 2. 增容需要申请新空间,拷贝数据,释放旧空间。会有不小的消耗。 3. 增容一般是呈2倍的增长,势必会有一定的空间浪费。例如当前容量为100,满了…

基于R语言地理加权回归、主成份分析、判别分析等空间异质性数据分析教程

原文链接:基于R语言地理加权回归、主成份分析、判别分析等空间异质性数据分析教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247600473&idx6&sn431e9408a42862d29fe4f4ef7703595b&chksmfa8208becdf581a820d9479d2aa61b88e96612c4ab72b0…

蓝桥-回文日期

目录 题目链接 ​编辑 ​编辑 什么是回文数?​编辑 代码 100%过 90%暴力 优化写的暴力代码 题目链接 2.回文日期 - 蓝桥云课 (lanqiao.cn) 什么是回文数? 代码 100%过 把那个90%的代码的循环限制条件去掉就行了,题目只是限制了N…

【前沿模型解析】潜在扩散模型 2-1 | 手撕感知图像压缩 基础块ResNet块

文章目录 1 残差结构回顾2 LDM结构中的残差结构设计2.1 组归一化GroupNorm层2.2 激活函数层2.3 卷积层2.4 dropout层 3 代码实现 1 残差结构回顾 残差结构应该是非常重要的基础块之一了,你肯定会在各种各样的网络模型结构里看到残差结构,他是非常强大的…

Vector Laboratories的凝集素--莲藕凝集素(Lotus Tetragonolobus Lectin)

莲藕凝集素(lotustetragonolobus lectin)是一个密切相关的糖蛋白家族,对含α-linked L-fucose具有相似的特异性。虽然莲藕凝集素的许多结合特性与荆豆凝集素I相似,但这些岩藻糖特异性凝集素之间的结合亲和力和某些寡糖特异性明显不…

学习大数据之JDBC(使用JAVA语句进行SQL操作)(3)

文章目录 DBUtils工具包准备工作DBUtils的介绍QueryRunner空参的QueryRunner的介绍以及使用有参QueryRunner的介绍以及使用 ResultSetHandler结果集BeanHandler<T>BeanListHandler<T>ScalarHanderColumnListHander 事务事务事务_转账分析图实现转账&#xff08;不加…

Cypress自动化测试开发指南!

cypress是基于JavaScript语言为编写语言的自动化测试开发工具&#xff0c;配合使用cucumber测试开发框架&#xff0c;以node.js为服务进程&#xff0c;可以简单的帮助测试人员完成需要人工手点的所有页面人机交互操作&#xff0c;可以模拟键盘和鼠标输入&#xff0c;快捷完成ca…

【XCPC笔记】2023 (ICPC) Jiangxi Provincial Contest——ABCHIJKL 做题记录

赛后gym练习及补题&#xff0c;gym链接&#xff1a;2023 (ICPC) Jiangxi Provincial Contest – Official Contest 补题顺序 L [Zhang Fei Threading Needles - Thick with Fine](https://codeforces.com/gym/104385/problem/L)题面解读参考代码 A [Drill Wood to Make Fire](h…

代码随想录算法训练营Day42|LC416 分割等和子集

一句话总结&#xff1a;背包问题。 原题链接&#xff1a;416 分割等和子集 拿到题先明确这是动态规划的题&#xff0c;具体类型是01背包问题。到了题目解法这里&#xff0c;首先判断数组加和是否为偶数&#xff0c;否则return false。然后就是01背包问题的解题思路了。具体地&…

LeetCode-热题100:118. 杨辉三角

题目描述 给定一个非负整数 numRows&#xff0c;生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] 示例 2: 输入: numRows 1 输出: [[1]]…

The Sandbox:在NFT Paris 2024引领数字文艺复兴

我们的欧洲、中东和非洲&#xff08;EMEA&#xff09;总部位于法国巴黎&#xff0c;我们的创始人也是土生土长的法国人&#xff0c;因此 The Sandbox 一直与 "光之城 "有着紧密的联系。近年来&#xff0c;巴黎日益成为 Web3 创新的中心&#xff0c;NFT 艺术氛围日益浓…

宏的使用(C语言详解)

在写一个代码生成可执行文件的过程需要经过编译和链接&#xff0c;编译又要经过三部&#xff1a;预处理&#xff0c;编译&#xff0c;汇编。 #define定义的变量和宏就是在预处理阶段会处理的。 一个简单的宏定义&#xff1a; #include<stdio.h>; #define Max(a,b) a>…

计算机毕业设计选题之基于SSM的旅游管理系统【源码+PPT+文档+包运行成功+部署讲解】

&#x1f493;项目咨询获取源码联系v&#x1f493;xiaowan1860&#x1f493; &#x1f6a9;如何选题&#xff1f;&#x1f351; 对于项目设计中如何选题、让题目的难度在可控范围&#xff0c;以及如何在选题过程以及整个毕设过程中如何与老师沟通&#xff0c;有疑问不清晰的可…

SpringCloud Hystrix 服务熔断、服务降级防止服务雪崩

文章目录 SpringCloud Hystrix 熔断器、服务降级防止服务雪崩需求背景引入依赖启动类加Hystrix注解接口配置熔断常规配置超时断开错误率熔断请求数熔断限流 全局配置可配置项HystrixCommand.Setter参数Command Properties 服务降级 SpringCloud Hystrix 熔断器、服务降级防止服…

反射感测器简化光电开关设计

本文为大家介绍如何利用反射感测器的优势&#xff0c;以简化并改进微型光学感测器的设计。 反射感测器是设计微型光电开关的得力助手。它们精巧直观&#xff0c;可用来简化人机交互。这些感测器通常隐藏在红外 ( IR ) 透镜盖后面&#xff0c;当手指或其他物体接触镜盖表面时&a…

2024年4月7日16:58:09答辩笔记

尚硅谷总结毕业设计编写&#xff1a;&#xff08;ppt尽量好看点&#xff0c;放图&#xff08;流畅图&#xff0c;时序图放一放&#xff09;&#xff0c;少字&#xff0c;&#xff09; 总结&#xff1a;&#xff08;这样给人体验感要好&#xff0c;语言、逻辑清晰&#xff09; 1…

vue实现验证码验证登录

先看效果&#xff1a; 代码如下&#xff1a; <template><div class"container"><div style"width: 400px; padding: 30px; background-color: white; border-radius: 5px;"><div style"text-align: center; font-size: 20px; m…

MySQL主从的介绍与应用

mysql主从 文章目录 mysql主从1. 主从简介1.1 主从作用1.2 主从形式 2. 主从复制原理3. 主从复制配置3.1 mysql安装&#xff08;两台主机安装一致&#xff0c;下面只演示一台主机操作&#xff09;3.2 mysql主从配置3.2.1 确保从数据库与主数据库里的数据一样3.2.2 在主数据库里…