前言

KubeBlocks (简称 KB)最新发布的 0.7 版别中,通过组件扩展(Addon)方法新增了对 OceanBase 的支撑,为企业级和非企业级用户在 Kubernetes 环境中创立和运维 OceanBase 供给了愈加快捷的方法。

OceanBase & KubeBlocks

OceanBase 是由蚂蚁集团、阿里巴巴彻底自主研制的分布式关系型数据库,具有数据强共同、高可用、高功能、在线扩展、高度兼容 SQL 标准和主流关系型数据库、低成本等特色,被越来越多的企业运用。

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

KubeBlocks与OceanBase完结产品兼容互认,能够运用KubeBlocks办理你的OceanBase集群啦!

KubeBlocks 是现在 CNCF Cloud Native LANDSCAPE 录入的唯一的开源多引擎数据 / 数据库办理体系项目。KubeBlocks 完结了对多种数据(库)体系的共同的笼统, 具有以下特色:

  • 功能:KubeBlocks 容器和云环境对 MySQL 与 PostgreSQL 数据库的内核和参数进行优化,功能超越同规格 RDS。
  • 可用性:KubeBlocks 支撑多种数据库的高可用集群装备,对 MySQL 支撑 Raft 三节点仿制,从而完结 RPO=0。
  • 可观察性:KubeBlocks 从丰厚的数据源收集监控指标,集成了 Prometheus 仓库,并供给了赋有洞察力的 Grafana 模板。此外,还供给慢日志等排查工具。
  • 可扩展性:KubeBlocks 对接入一个新的数据库引擎供给了杰出的笼统,通过组件扩展(Addon)机制能够快速集成,并供给共同的运用体会和预期行为

KubeBlocks 0.7 版别现已支撑 30+ 数据(库)体系组件

在 KubeBlocks 社区的 0.7 版别,KubeBlocks 完结了与 OceanBase 开源版的适配。正是由于 KubeBlocks 供给的共同性体会,KubeBlocks 社区用户能够“0学习成本”快速把握创立和运维 OceanBase 集群的方法。证书见后文。

轻松集成

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

KubeBlocks与OceanBase完结产品兼容互认,能够运用KubeBlocks办理你的OceanBase集群啦!

运用 KubeBlocks 轻松办理 OceanBase 集群

准备工作

1. 装置 KubeBlocks 和 kbcli

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

  • 装置 kbcli

    curl -fsSL https://kubeblocks.io/installer/install_cli.sh | bash
    
  • 装置 KubeBlocks

    kbcli kubeblocks install
    

更多装置方法请参阅 KubeBlocks 官方文档: kubeblocks.io

2. 查看 OceanBase 组件版别

  • 更新 KubeBlocks repo

    helm repo add kubeblocks  https://apecloud.github.io/helm-charts
    helm repo update kubeblocks
    
  • 查看最新的 OceanBase 组件版别

    helm search repo kubeblocks/oceanbase
    >
    NAME                                CHART VERSION        APP VERSION                       DESCRIPTION
    kubeblocks/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+ 数据(库)体系组件,能够通过类似方法查看。 完整列表请参阅:kubeblocks.io/docs/releas…

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   AGE
obcluster-oceanbase-cluster-ob-bundle-0   1/1     Running   0          13m
obcluster-oceanbase-cluster-ob-bundle-1   1/1     Running   0          11m
obcluster-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

感谢

感谢来自 OceanBase 社区的 @Powerfool 同学帮忙完结本次集成。

未来 KubeBlocks 还会和 OceanBase 深度合作,完善对 OceanBase 的深度运维才能,为企业级和非企业级用户供给愈加快捷的数据库运用和运维体会。

喜提证书

KubeBlocks与OceanBase完结产品兼容互认,能够运用KubeBlocks办理你的OceanBase集群啦!