Doris Operator
本文按版本倒序列出 Doris Operator 的版本发布说明。
26.0.0
该版本改进了 DDC 生命周期管理与可靠性,包括计算组优雅停机滚动、可配置的就绪探针策略、DCR mTLS 支持以及更清晰的 DDC 健康状态上报。同时,该版本增强了 Helm chart 配置,并增加了多项校验和稳定性修复。
功能与改进
- DDC 计算组在滚动更新、缩容和删除操作中支持优雅停机滚动,提供 sentinel 兼容性开关,并在镜像不支持时回退到常规 StatefulSet 流程。#502
DorisCluster和DorisDisaggregatedClusterPod 支持可配置的就绪探针策略。#486- DCR 支持 mTLS。#483
- 将 DDC 计算组 Service 拆分为内部 headless Service 和外部 Service,使升级和流量切换更平滑。#484
- Helm chart 增加组件级 Secret 支持。#465
- Helm chart 暴露已部署 Pod 的
serviceAccount配置。#470
Bug 修复
- 修复 DDC MetaService 健康状态聚合,使 MetaService 降级能够反映到集群健康状态中。#500
- 修复
dcr.Annotations为 nil 时CompareConfigmapAndTriggerRestart中的 nil map panic。#493 - 修复 FE endpoint 地址的 JSON tag,并重新生成
DorisClusterCRD。#497 - 拒绝
feSpec.replicas < feSpec.electionNumber的非法DorisDisaggregatedClusterFE 配置。#498 - 在应用不可变的 StatefulSet volume claim template 之前,拒绝 DDC 计算组存储模板变更。#496
- 修复
DorisDisaggregatedClusterBE Helm 配置中的默认storage_root_path。#477
可靠性
- 拒绝在
DorisCluster和DorisDisaggregatedClusterwebhook 中使用内置admin账户作为 Operator 管理用户。#499 - 增加针对 Go 格式化、vet/lint 检查、Operator 构建以及生成的 manifest 和 artifact 的 Pull Request 检查。#501
致谢
25.8.0
该版本为 DDC 增加了重要能力,包括 TLS 支持、PVC 扩容和 Pod 调试能力。同时,该版本改进了 Helm 支持、Pod 资源配置和可靠性。
功能与改进
dorisctl支持 TLS 访问。#432- Operator 在 drop node 场景中支持使用 TLS。#434
- 改进 Helm chart 模板。#452
- Helm 和 Operator chart 支持通过
values.yaml设置 Deployment 资源配额。#462 - Helm chart
kubeVersion兼容带预发布后缀的 Kubernetes 版本,例如 EKS 和 GKE 版本。#463 - 增加 DDC 调试能力。#460 #471
- 为 BE Pod 增加 CPU 资源感知参数传递能力。#464
- DDC 支持 PVC 扩容。#467
- Init Container 自定义行为支持资源限制配置。#469
Bug 修复
- 修复单元测试用例问题。#430 #433
- 修复未关闭 SQL 连接导致的资源泄漏。#437
- 修复 FE PVC 信息收集问题。#438
- 修复错误日志信息、重复环境变量和其他代码缺陷。#440 #442 #449
- 修复 CVE 并更新安全依赖。#453
- 修复 MySQL SQL Client 结构定义映射问题。#468
可靠性
- DDC MetaService controller 复用
BuildVolumesVolumeMountsAndPVCs构建 PVC,提升逻辑一致性。#436
下载
镜像格式请参考镜像仓库说明。
致谢
25.7.0
该版本改进了 drop node 对计算组重命名的兼容性和调试镜像构建,并修复 DDC Pod 信息挂载、PVC 单元测试及事件处理问题。
功能与改进
Bug 修复
致谢
25.6.0
该版本支持使用 dorisctl 管理存算分离 Doris 集群,并修复首次部署时未创建 PVC 的问题。
功能与改进
- 支持使用
dorisctl管理存算分离 Doris 集群。#412
Bug 修复
- 修复首次部署时未创建 PVC 的问题。#410
致谢
25.5.3
该版本改进了 DDC 部署的默认镜像和文档,并避免内部 reconcile annotation 出现在自定义资源中。
功能与改进
Bug 修复
- 避免仅用于 reconcile 状态检查的 annotation 出现在自定义资源中。#404
致谢
25.5.2
该版本改进了 DDC reconcile 和调试行为。
功能与改进
DorisDisaggregatedCluster状态已一致时避免重复 reconcile。#399- 增加用于进入调试模式的
apache.com.doris/runmodeannotation。#400 - 默认启用
DorisDisaggregatedClusterreconcile。#402
致谢
25.5.1
该版本为 DDC 增加 Kerberos 支持,并使存算分离组件的发布版本与 Operator 版本保持一致。
功能与改进
- DDC 支持 Kerberos。#396
Bug 修复
- 使存算分离组件的发布版本与 Operator 版本保持一致。#395
致谢
25.5.0
该版本为存算分离集群增加 Workload Group 和 Helm chart 支持,同时改进 DDC 初始化,并修复镜像、权限和 MetaService 配置问题。
功能与改进
- 为存算分离 Doris 集群增加 Workload Group 支持。#378
- 支持 reconcile
DorisDisaggregatedCluster资源。#379 - 增加存算分离 Doris 集群的 Helm chart 支持。#379 #386 #388 #393
- DDC 支持跳过默认系统初始化检查。#389
Bug 修复
致谢
25.4.0
该版本主要支持在 DCR 上挂载共享磁盘,并支持在 Helm chart 中配置 Pod annotations。
功能与改进
致谢
25.3.0
该版本改进了 DorisCluster 和 DorisDisaggregatedCluster 资源的 PersistentVolume 能力,修复了若干 Bug,并改进项目示例和 Helm 构建方式。
功能与改进
- 在 Makefile 中增加用于 Helm 发布的 Helm
make支持。#362 - 增加 DCR PersistentVolume 模板配置,并支持与配置文件联动。#364
- 增加 DDC PersistentVolume 自定义能力和
PersistentVolume兼容性。#369
Bug 修复
其他变更
致谢
25.2.1
该版本在 Helm chart 中增加存算分离集群资源,改进发布流程中的版本替换和镜像仓库,并修复 Helm chart 问题。
功能与改进
Bug 修复
致谢
25.2.0
该版本增加了访问 Kerberos 保护的数据系统的能力,升级了 Go 和 controller-runtime 版本,改进运行时行为,修复 Bug,并更新文档。
功能与改进
Bug 修复
- 修复等待 BE deployment 时可能触发 reconcile 的问题。#341
其他变更
- 更新 Operator Dockerfile 的基础镜像,并将 Go 版本改为 1.23。#337 #346
- 将 Go 和 controller-runtime 从 alpha v1 更新到 v1。#340
- 将
golang.org/x/net从 0.30.0 升级到 0.33.0。#343 - 更新 README 文件。#344 #345 #347 #349 #350
下载
- Operator 镜像:Docker Hub,使用带
operator前缀的 tag。 - Doris 镜像:Docker Hub,使用带
ms、fe和be前缀的 tag。
致谢
25.1.0
该版本改进 BE 调度和配置更新,增加 controller 测试,修复 StatefulSet 准备逻辑,并将镜像 tag 迁移到 Apache 仓库。
功能与改进
- 为 BE 增加 FE 亲和性,使 Operator 优先将 BE 调度到运行 FE 的节点。#328
- 监听 ConfigMap 变更,并在启动配置变更后重启 Doris。#331
- BE 支持跳过默认系统初始化。#321
- 增加 controller 单元测试。#322
Bug 修复
- 修复传递给
prepareStatefulsetApply的参数。#326
其他变更
- 将所有镜像 tag 从 SelectDB 仓库迁移到 Apache 仓库。#329
致谢
24.2.0
该版本为 DorisDisaggregatedCluster 增加多 Secret 支持,并支持通过 decommission 缩容计算组中的 BE。同时,该版本改进 Arrow Flight SQL 端口暴露、资源清理、测试、文档和示例。
功能与改进
- 支持通过 decommission 缩容 DDC 计算组中的 BE。#306
- DDC 支持用户名、密码配置和多个 Secret。#312
- 将 Arrow Flight SQL 端口暴露为容器端口。#295
- 在存算分离 Service 中暴露 Arrow Flight SQL 端口。#307
- 扩充单元测试覆盖。#315
- 重构计算组资源清理逻辑。#318
Bug 修复
- 修复删除计算组时的 SQL Client 行为。#314
- 修复 Service label。#318
- 修复
UniqueId包含连字符时无法删除计算组的问题。#318 - 在集群更新期间缩容 FE 时增加安全检查。#320
其他变更
- 改进 README。#303
- 删除未使用的文件,包括已废弃的 Dockerfile 和 DDM 代码。#309 #314
- 改进
DorisDisaggregatedClusterCRD 使用示例。#313
致谢
24.1.0
该版本为 DorisCluster 增加 Workload Group 支持,引入滚动重启,并修复 FE 部署和访问问题。
Workload Group 需要使用 Apache Doris 2.1.7 或更高版本的官方镜像。对于更早的 Doris 版本,需要自行构建兼容镜像。
功能与改进
- 为 Doris BE 增加 Workload Group 支持。#289
- 支持滚动重启 Doris 集群。#292
- 更新 Makefile 中的 controller-gen 版本。#275
- 在 GitHub Actions 中增加许可证检查。#278 #279 #280
- 增加默认 Issue 模板。#288
Bug 修复
致谢
24.0.0
该版本引入 DorisDisaggregatedCluster(DDC)自定义资源,用于部署存算分离 Apache Doris 集群。同时,该版本通过 DorisCluster(DCR)扩展存算一体部署能力。
DDC 仅适用于 Apache Doris 3.0.2 或更高版本。
新功能
DorisDisaggregatedCluster
- 增加 FoundationDB 模块访问能力。#186
- 支持部署 MetaService 模块。#194
- 支持部署 FE 模块。#199
- 支持部署计算组模块。#185 #189 #192 #197
- 为存算分离 Doris 组件增加镜像 entrypoint 支持。#195 #196
- 支持缩容 FE。#225
- 支持缩容计算组并清理资源。#238
- 支持通过 SQL 接口缩容 FE。#255
- 支持通过 SQL 接口缩容计算组。#256
DorisCluster
- 通过 External Service 暴露 Arrow Flight SQL 端口。#251
功能改进
DorisDisaggregatedCluster
- 支持通过
be.conf和 PVC 配置创建计算组。#198 - 改进 README 和 DDC 示例 YAML 文件。#203 #210 #211 #214
- 将 README 示例更新为使用最新版本。#220
- 增加用于启用 DDC 部署的 Operator 开关。#204
- 增加
SystemInitialization,用于准备系统环境。#212 - 根据 Doris 命名变更同步计算组术语。#215 #245
- 删除 MetaService 副本 CRD。#227
- 将 MetaService CRD 重构为
DorisDisaggregatedClusterCRD。#234 - 将计算组标识符改为新 SQL 接口使用的
UniqueId。#239 - 增加 FE SQL 镜像 entrypoint 和集群 ID 哈希值。#249
- 将 DDC 操作从 HTTP 接口迁移到 SQL 接口。#254
- 为 Pod liveness probe 增加
timeoutSeconds。#257 - 增加
logNotStore,使 FE 可以跳过创建日志 PVC。#266 - 更新 DDC 示例和文档。#268
DorisCluster
- 为 Pod liveness probe 增加
timeoutSeconds。#257
其他变更
- 增加公共工具函数单元测试。#226
- 增加 resource model 和 controller model 单元测试。#232
- 更新用于 Artifact Hub 的 Helm chart 配置。#244
- 将组织名称从 SelectDB 改为 Apache。#247
Bug 修复
DorisDisaggregatedCluster
- 修复 Pod affinity 和 StatefulSet PVC 指针处理问题。#209
- 修正 BE 默认存储路径。#243
- 修复首次部署期间重复的
ms_token环境变量导致 Pod 重启的问题。#259 - 修复镜像 entrypoint 使用的 BE ConfigMap 路径。#261
- 修复
electionNumber为 nil 时的部署问题,并避免 Service 持续更新。#262 #266 - 修复重复 reconcile 问题。#263 #265
- 修正 BE 默认缓存路径。#266
DorisCluster
- 避免升级 Operator 时重启 Doris Pod。#226
- 合并共享 Pod 环境变量数组时使用深拷贝。#236
- 修复跨 namespace 缩容 FE 时 MySQL Client 失败的问题。#240
- 修复
electionNumber为 nil 时的部署失败问题。#260
其他变更
- 修复 StatefulSet 的 resource model 单元测试。#252