TiDB Operator 1.2.0-beta.1 Release Notes
发布日期:2021 年 4 月 7 日
TiDB Operator 版本:1.2.0-beta.1
兼容性改动
由于 #3638 的改动,TiDB Operator chart 中创建的 ClusterRoleBinding、ClusterRole、RoleBinding、Role 的
apiVersion
从rbac.authorization.k8s.io/v1beta1
更改为rbac.authorization.k8s.io/v1
,此时通过helm upgrade
升级 TiDB Operator 可能会报下面错误:Error: UPGRADE FAILED: rendered manifests contain a new resource that already exists. Unable to continue with update: existing resource conflict: namespace: , name: tidb-operator:tidb-controller-manager, existing_kind: rbac.authorization.k8s.io/v1, Kind=ClusterRole, new_kind: rbac.authorization.k8s.io/v1, Kind=ClusterRole
详情可以参考 helm/helm#7697,此时需要通过
helm uninstall
删除 TiDB Operator 然后重新安装(删除 TiDB Operator 不会影响现有集群)。
滚动升级改动
- 由于 #3785 的改动,升级 TiDB Operator 会导致 TidbMonitor Pod 删除重建。
新功能
- 支持为备份和恢复 Job 设置自定义环境变量 (#3833,@dragonly)
- 支持为 TidbMonitor 配置额外的 volume 和 volumeMount (#3855,@mikechengwei)
- 支持备份恢复 CR 设置 affinity 和 tolerations (#3835,@dragonly)
- 设置
appendReleaseSuffix
为true
时,支持 tidb-operator chart 使用新的 service account (#3819,@DanielZhangQD) - 优化 LeaderElection,支持用户配置 LeaderElection 时间 (#3794, @july2993)
- 为 TidbMonitor 中的 scrape jobs 增加
tidb_cluster
label 以支持多集群监控 (#3750, @mikechengwei) - 支持设置自定义 Store 标签并根据 Node 标签获取值 (#3784, @L3T)
- TidbMonitor 支持
remotewrite
(#3679, @mikechengwei) - 支持为 TiDB 集群各组件配置 init containers (#3713, @handlerww)
- 支持为 TiDB slow log 自定义存储 (#3731, @BinChenn)
优化提升
- TiDBInitializer 中增加重试机制,解决 DNS 查询异常处理问题 (#3884,@handlerww)
- 优化 Thanos 的 example yaml (#3726,@mikechengwei)
- 滚动更新过程中,等待 TiKV Pod 升级完成之后再删除 evict leader scheduler (#3724,@handlerww)
- 在 PD 的扩缩容和容灾过程中增加多 PVC 支持 (#3820,@dragonly)
- 在 TiKV 的扩缩容过程中增加多 PVC 支持(#3816,@dragonly)
- 支持调整 TiDB PVC 容量 (#3891,@dragonly)
- 添加 TiFlash 滚动更新机制避免升级期间所有 TiFlash Store 同时不可用 (#3789, @handlerww)
- 由从 PD 获取 region leader 数量改为从 TiKV 直接获取以确保拿到准确的 region leader 数量 (#3801, @DanielZhangQD)
- 打印 RocksDB 和 Raft 日志到 stdout,以支持这些日志的收集和查询 (#3768, @baurine)
Bug 修复
- 修复 PD/TiKV 挂载多 PVC 时容量设置错误的问题 (#3858,@dragonly)
- 修复创建
.spec.tidb
为空并开启 TLS 的 TidbCluster 导致 tidb-controller-manager panic 的问题 (#3852,@dragonly) - 修复 TidbMonitor 外部标签包含一些无法识别的环境变量的问题 (#3785,@mikechengwei)
- 修复在集群开启 TLS 的情况下,如果不配置
spec.from
或者spec.to
,使用 BR 备份或者恢复会失败的问题 (#3707, @BinChenn) - 修复在开启 Advanced StatefulSet 并且为 PD、TiKV 设置了
delete-slots
annotations 的情况下,序号大于replicas - 1
的 Pod 在升级过程中不会进行迁移 leader 的问题 (#3702, @cvvz) - 修复备份或者恢复 Pod 被驱逐或者强制停止的情况下,Backup 或者 Restore 状态没有正常更新为
Failed
的问题 (#3696, @csuzhangxc) - 修复如果 TiKV 集群由于配置错误无法启动,修改
TidbCluster
CR 配置后,仍然无法启动的问题 (#3694, @cvvz)