KubeBlocks 1.0.0 (2025-05-28)
我们很高兴宣布 KubeBlocks 1.0.0 版本正式发布。
KubeBlocks 1.0.0 标志着项目发展的重要里程碑,核心 API 已升级至稳定版本(v1),并在集群管理、数据保护和运行稳定性方面实现重大增强,为生产环境带来更高的灵活性和可靠性。
Highlights
APIs Graduated to Stable
在 KubeBlocks v0.9 中引入的诸多核心能力(如灵活拓扑、InstanceSet、生命周期扩展)已在 KubeBlocks 1.0 中正式稳定。
以下 CRD 现在为 v1
且已稳定,将长期支持:
apps.kubeblocks.io
API 组:
ClusterDefinition
Cluster
ComponentDefinition
Component
ComponentVersion
ServiceDescriptor
ShardingDefinition
SidecarDefinition
workloads.kubeblocks.io
API 组:
KubeBlocks Features
- 滚动更新:通过 Cluster API 支持滚动升级,最大限度减少更新期间的停机时间
- 增量备份:新增增量备份支持,提升性能并减少存储占用
KubeBlocks Addon Highlights
- MySQL 改进:新增 TLS 支持、基于 ProxySQL 的组复制和 WAL-G 实现的 PITR 功能,显著提升安全性和恢复能力
- MongoDB PITR 与版本支持:为 MongoDB 引入时间点恢复功能并支持新版本
- Kafka 优化:支持外部 ZooKeeper、自定义 Prometheus 指标和多网络访问,提升灵活性和可观测性
- Redis 增强:新增集群切换、实例重建和外部配置支持,提高运维健壮性
What's Changed
KubeBlocks
集群管理
- 滚动升级:通过 Cluster API 实现零停机升级 #8973
- 动态镜像仓库:支持动态替换镜像仓库实现更灵活的部署 #8018
- 分片 Pod 反亲和性:为分片组件添加反亲和性规则 #8705
- Pod 标签/注解更新:可更新底层 Pod 标签与注解,增强运维能力 #8571
- PVC 卷属性:支持为 PVC 设置 volumeAttributesClass #8783
- 组件定义策略规则:新增细粒度策略控制 #8328
- 组件角色重构:改进组件管理的角色定义 #8416
数据保护
- 增量备份:新增高效增量备份支持 #8693
- 备份参数一致性:支持备份与恢复参数,确保一致性 #8472
- 保留最近备份:支持保留最新备份,提升恢复能力 #9088
运维
- OpsRequest 验证:引入验证策略确保操作正确性 #8232
KubeBlocks Addons
MySQL
- TLS 支持:新增安全连接支持 #1462
- 组复制 + ProxySQL:支持高可用架构 #1467
- PITR 恢复:使用 WAL-G 实现时间点恢复 #1451
- 持续与增量备份:通过 WAL-G 改进备份策略 #1456
Redis
MongoDB
Kafka
- 外部 ZooKeeper:为 Kafka 2.7 添加外部 ZooKeeper 支持 #1297
- 自定义 Prometheus 指标:支持配置自定义指标 #1544
- 跳过端口解析:提升使用 Pod IP 时的灵活性 #1569
- 自定义安全上下文:支持自定义安全设置 #1337
RabbitMQ
- 新版本支持:新增 RabbitMQ 4.0.9 版本支持 #1596
ClickHouse
- 22.9.4 支持:新增 ClickHouse 22.9.4 兼容性 #1376
TiDB
- 8.4 版本支持:新增 TiDB 8.4 支持 #1384
- 升级至 6.5.12:将 TiDB 6 更新至 v6.5.12 #1664
API 更新、废弃与新增
GA 稳定版(v1)发布
以下 CRDs 正式升级至 v1
,将获得长期支持:
apps.kubeblocks.io
API 组
ClusterDefinition
Cluster
ComponentDefinition
Component
ComponentVersion
ServiceDescriptor
ShardingDefinition
SidecarDefinition
workloads.kubeblocks.io
API 组
这些资源的 v1alpha1
和 v1beta1
版本现已弃用,可能在后续版本中移除。
废弃 API
以下 CRD 已弃用并将在后续版本中移除,请相应调整您的配置:
ConfigConstraint
Configuration
新增 Alpha API
新增 parameters.kubeblocks.io
API 组,引入更细粒度的参数管理API:
ComponentParameter
ParamConfigRenderer
Parameter
ParametersDefinition
这些 API 旨在替代已弃用的 ConfigConstraint
和 Configuration
。
API 组调整
部分 API 已迁移至新的分组:
资源 | 原 API 组 | 新 API 组 |
---|
OpsDefinition /OpsRequest | apps.kubeblocks.io | operations.kubeblocks.io |
BackupPolicyTemplate | apps.kubeblocks.io | dataprotection.kubeblocks.io |
升级注意事项
请注意,目前不支持从 0.9 版本直接升级到 1.0 版本。
我们正在开发一个稳健且经过测试的升级路径,将在后续版本中发布。
致谢
值此 KubeBlocks 1.0.0 发布之际,我们要向所有工程师、贡献者和合作伙伴致以诚挚的感谢,正是你们的努力塑造了项目的今天。
特别感谢快手、中国移动云、唯品会、腾讯、360 等团队, 他们的技术贡献、深入反馈和真实使用场景大大提升了项目架构、性能和生产可用性。
我们也衷心感谢社区贡献者——你们的代码贡献、问题报告、讨论和评审对推动项目质量和创新至关重要。
随着 1.0.0 的到来,我们在构建云原生数据库平台的征途上迈出了坚实一步。我们期待与大家一同继续前行,壮大生态、迎接挑战、共同推动数据基础设施的未来发展。