KubeBlocks v0.6.0 版本正式发布了!
此版本引入了流计算引擎 Kafka、Pulsar 和向量数据库 Qdrant、Weaviate、Milvus,支持了 MySQL 读写分离,提升了交互式的参数管理体验。
Highlights
-
KubeBlocks 支持了 Kafka v3.3
Kafka 是一款开源的分布式事件存储和流计算系统,为数据管道、流式分析、数据集成提供了极高的可靠性、吞吐量和极低的延迟,被广泛应用于日志收集和指标监控场景。KubeBlocks 支持了 Kafka v3.3,该版本宣布 KRaft 已经满足生产环境要求,能够提供更好的分区可拓展性和弹性,节省了 ZooKeeper 带来的额外成本。除此之外,KubeBlocks 还支持将 MySQL 和 PostgreSQL 的数据变更推送至 Kafka,方便用户进一步加工处理。
-
KubeBlocks 支持了 Pulsar v2.11
Apache Pulsar 是一个开源的分布式消息传递和流处理平台。它旨在提供可扩展性、高性能和可靠性,以满足现代数据处理和实时消息传递的需求。KubeBlocks 支持了 Apache Pulsar v2.11,相对于传统部署方式,KubeBlocks 可自动化完成故障转移、扩缩容等 day2 运维操作。
-
KubeBlocks 支持了 MySQL 读写分离
读写分离旨在提高 MySQL 数据库集群的只读处理能力,将所有写入查询都将发送到主节点上,不修改数据的只读查询分散到多个从节点上。读写分离与 MySQL Raft Group 集群一起使用,它会自动检测主节点的变化,并使用集群当前的主节点来实现故障转移。通过设置
read_write_splitting_policy
,在 global 或 session 级别打开读写分离特性,默认策略为LEAST_CURRENT_OPERATIONS
,将只读查询路由到读查询活跃操作最少的从节点。MySQL Raft Group 集群最大支持 5 个节点。 -
KubeBlocks支持了流行的向量数据库管理
生成式 AI 的火爆彻底点燃了向量数据库(Vector Database)市场,KubeBlocks 支持对向量数据库的一键拉起和管理控制。目前支持 Qdrant(v1.1.0),Weaviate(v1.18.0),以及 Milvus 的管理。
新功能
Pulsar
- 集群生命周期管理和运维管理,支持创建 Pulsar 集群,删除集群、重启集群、横向扩容、纵向扩容、存储扩容、参数变更
- 监控,支持 ZooKeeper、 BookKeeper、Broker 的 CPU、内存、网络读写流量等性能监控
Kafka
- 集群生命周期管理和运维管理,支持集群创建、删除、横向扩容、纵向扩容、存储扩容、参数变更
- 横向扩容:combined 模式下 broker replica 支持 1,3,5 个副本;seperated 模式下, broker 支持 1 到 100,controller 支持 1,3,5
- 监控,支持 Broker 的 CPU、内存、网络读写流量等性能监控
MySQL
- 三节点集群支持 Switchover
- 数据恢复,非覆盖性的按时间点恢复
- 三节点集群支持 MySQL 读写分离
- 创建集群开启代理(Beta)
- Vitess 代理默认规格可以满足用户绝大部分应用场景,Vitess 代理根据数据库节点以及节点规格的变化自动触发增加或减少资源,无需用户选择。Vitess 代理的 CPU 为集群中节点 CPU 总核数(三个节点)的 1/6 并向上取整,以 0.5c 为粒度,最小 0.5c,最大 64c。副本数量默认为 1,当前不支持修改副本数量
- 连接地址:代理有一个默认连接地址,支持读写分离。expose 命令支持为代理连接地址生成 VPC 地址和公网地址
- 支持设置 Vitess 代理读写分离策略
PostgreSQL
- 主备集群支持 Switchover
- 支持 pgBouncer
MongoDB
- MongoDB 副本集支持 Switchover
- 数据恢复,非覆盖性的按时间点恢复
数据迁移
- 增加
kbcli migration
命令,包括创建迁移任务、查看迁移任务列表、查看迁移任务详情、终止迁移任务、查看日志、查看迁移模板等功能。支持全量迁移和增量同步 - 支持 MySQL 数据迁移,从 MySQL8.0 到 MySQL8.0
- 支持 PostgreSQL 数据迁移,从 PostgreSQL14 到 PostgreSQL14
- 支持 MongoDB 数据迁移,从 mongo5.x/6.0.x 到 mongo5.x/6.0.x
兼容性
- 通过 Prometheus v2.41 - 2.45 兼容性测试,支持 Remote write 到 Prometheus server
- kbcli 适配 Ubuntu 和 Amazon Linux 2 的包管理器
- kbcli 适配 Windows PowerShell 和包管理器
- kbcli playground 支持 Ubuntu 和 Amazon Linux 2 本地环境运行
- kbcli playground 支持 Windows 本地环境运行
易用性
- kbcli 支持用户通过操作系统本地编辑工具来修改 KubeBlocks 的参数
- kbcli 支持故障注入
faultinject
addon,支持多种故障模拟 - kbcli 支持
report
命令打包集群上下文信息到压缩文件中用于问题辅助排查 - kbcli 支持对 DB cluster 的配置信息进行交互式编辑。
kbcli cluster create
命令支持使用--edit
交互式编辑 YAML 文件,展示已创建集群内容 - 支持取消运行中的 Hscale/Vscale OpsRequest
- 增加 kbcli playground Grafana 概览页面
- Kbcli alert 设置邮件服务器
- 支持初始化创建数据库和用户 相关文档
- KB 安装时可指定配置文件,
- MySQL、PostgreSQL、MongoDB 支持磁盘满锁:数据库存储空间即将满时(磁盘使用率超过 90%),将数据库设置为只读状态
备份恢复
- 备份存储仓库(backupRepo)是指备份文件存放的目标路径,KB 支持公共云对象存储以及S3兼容的对象存储
- 恢复新集群时支持修改集群配置
- 查看备份详情 describe-backup
可观测性
-
支持与 Promtheus, VictorialMetrics, AMP 外部监控系统的数据集成,集群性能监控指标通过 remote write 方式输出到目标监控系统
-
K8s / KB 集群的操作日志实时转储至对象存储,按照时间和大小两个条件进行切分,并提供只读地址
-
K8s / KB 集群的异常日志实时转储至对象存储,按照时间和大小两个条件进行切分,并提供只读地址
有没有你觉得还不错的功能呢?快来尝试下吧。
当然,研发同学很用力,这些变化仍然不是全部,本文只摘取部分功能更新,欢迎大家到 GitHub 查看全部更新内容。
同时,小猿姐也诚邀各位体验 KubeBlocks,欢迎您成为产品的使用者和项目的贡献者。跟我们一起构建云原生数据基础设施吧!
💻 官网:www.kubeblocks.io
🌟 GitHub: github.com/apecloud/ku…
关注小猿姐,一起学习更多云原生技术干货。