TiDB Operator 1.1 Beta.1 Release Notes
发布日期:2020 年 1 月 8 日
TiDB Operator 版本:1.1.0-beta.1
需要操作的变更
所有 charts 支持配置
timezone
(#1122, @weekface)对于
tidb-cluster
chart, 之前已经有timezone
配置项(默认值:UTC
)。如果用户没有修改成不同值(如:Asia/Shangehai
),所有 Pods 不会被重建。如果用户改成其它值(如:
Asia/Shanghai
),所有相关的 Pods(添加TZ
环境变量)会被重建(滚动升级)。对于其它 charts,之前在对应的
values.yaml
里没有timezone
配置项。这个 PR 添加了对timezone
配置项的支持。不管用户使用旧的values.yaml
还是新的values.yaml
,所有相关的 Pods(添加了TZ
环境变量)都不会被重建(滚动升级)。相关的 Pods 有:
pump
,drainer
,discovery
,monitor
,scheduled backup
,tidb-initializer
,tikv-importer
。TiDB Operator 维护的全部镜像的
timezone
都是UTC
。如果你使用自己的镜像,请确保你的镜像的timezone
是UTC
。
其他重要变更
- 支持使用 Backup & Restore (BR) 备份到 S3 (#1280, @DanielZhangQD)
- 为
TidbCluster
添加基础默认设置及验证 (#1429, @aylei) - 支持使用增强型 StatefulSet 进行扩缩容 (#1361, @cofyc)
- 支持使用
TidbInitializer
自定义资源初始化 TiDB 集群 (#1403, @DanielZhangQD) - 优化 PD、TiKV、TiDB 的配置结构 (#1411, @aylei)
- 设置
tidbcluster
拥有的资源的实例 label 键的默认名称为集群名 (#1419, @aylei) TidbCluster
自定义资源支持管理 Pump 集群 (#1269, @aylei)- 修复 tikv-importer 默认配置中的错误 (#1415, @aylei)
- 支持在资源配置中配置临时存储 (#1398, @aylei)
- 添加不使用 Helm 运维 TiDB 集群的 e2e 测试用例 (#1396, @aylei)
- 发布 Terraform Aliyun ACK 版本,指定默认版本为
1.14.8-aliyun.1
(#1284, @shonge) - 优化 scheduler 的报错信息 (#1373, @weekface)
- 把
system:kube-scheduler
集群 role 绑定到tidb-scheduler
服务账号 (#1355, @shonge) - 添加新的
TidbInitializer
自定义资源类型 (#1391, @aylei) - 升级默认备份镜像为
pingcap/tidb-cloud-backup:20191217
,优化-r
选项 (#1360, @aylei) - 修复最新 EKS AMI 的 Docker ulimit 配置的错误 (#1349, @aylei)
- 支持同步 Pump 状态到 TiDB 集群 (#1292, @shonge)
tidb-controller-manager
支持自动创建并调和tidb-discovery-service
(#1322, @aylei)- 扩大备份恢复的适用范围,提升安全性 (#1276, @onlymellb)
TidbCluster
自定义资源中添加 PD 和 TiKV 配置 (#1330, @aylei)TidbCluster
自定义资源中添加 TiDB 配置 (#1291, @aylei)- 添加 TiKV 配置 schema (#1306, @aylei)
- TiDB
host:port
开启后再初始化 TiDB 集群,加快初始化速度 (#1296, @cofyc) - 移除 DinD 相关脚本 (#1283, @shonge)
- 支持从 AWS 和 GCP 的元数据获取验证证书 (#1248, @gregwebs)
- 增加
tidb-controller-manager
的权限来操作configmap
(#1275, @aylei) - 通过
tidb-controller-manager
管理 TiDB 服务 (#1242, @aylei) - 支持为组件设置 cluster-level 配置 (#1193, @aylei)
- 从当前时间来获取时间字符串,代替从 Pod Name 获取 (#1229, @weekface)
- 升级 TiDB 时,TiDB Operator 将不再注销 ddl owner,因为 TiDB 将在关闭时自动转移 ddl owner (#1239, @aylei)
- 修复 Google terraform 模块的
use_ip_aliases
错误 (#1206, @tennix) - 升级 TiDB 默认版本为 v3.0.5 (#1179, @shonge)
- 升级 Docker image 的基本系统到最新稳定版 (#1178, @AstroProfundis)
tkctl get TiKV
支持为每个 TiKV Pod 显示储存状态 (#916, @Yisaer)- 添加一个选项实现跨命名空间的监控 (#907, @gregwebs)
- 在
tkctl get TiKV
中添加STOREID
列,为每个 TiKV Pod 显示 store ID (#842, @Yisaer) - 用户可以在 chart 中通过
values.tidb.permitHost
指定被许可的主机 (#779, @shonge) - 为 kubelet 添加 zone 标签和资源预留配置 (#871, @aylei)
- 修复了 apply 语法可能会导致 kubeconfig 被破坏的问题 (#861, @cofyc)
- 支持 TiKV 组件的灰度发布 (#869, @onlymellb)
- 最新的 chart 兼容旧的 controller manager (#856, @onlymellb)
- 添加对 TiDB 集群中 TLS 加密连接的基础支持 (#750, @AstroProfundis)
- 支持为 tidb-operator chart 配置 nodeSelector、亲和力和容忍度 (#855, @shonge)
- 支持为 TiDB 集群的所有容器配置资源请求和限制 (#853, @aylei)
- 支持使用
Kind
(Kubernetes IN Docker) 建立测试环境 (#791, @xiaojingchen) - 支持使用
tidb-lightning
chart 恢复特定的数据源 (#827, @tennix) - 添加
tikvGCLifeTime
选项 (#835, @weekface) - 更新默认的备份镜像到
pingcap/tidb-cloud-backup:20190828
(#846, @aylei) - 修复 Pump/Drainer 的数据目录避免潜在的数据丢失 (#826, @aylei)
- 修复了
tkctl
使用-oyaml
或-ojson
标志不输出任何内容的问题,支持查看特定 Pod 或 PV 的详细信息,改进tkctl get
命令的输出 (#822, @onlymellb) - 为 mydumper 添加推荐选项:
-t 16 -F 64 --skip-tz-utc
(#828, @weekface) - 在
deploy /gcp
中支持单可用区和多可用区集群 (#809, @cofyc) - 修复当默认备份名被使用时备份失败的问题 (#836, @DanielZhangQD)
- 增加对 TiDB Lightning 的支持 (#817, @tennix)
- 支持从指定的定时备份目录还原 TiDB 集群 (#804, @onlymellb)
- 修复了一个
tkctl
日志中的异常 (#797, @onlymellb) - 在 PD/TiKV/TiDB 规范中添加
hostNetwork
字段,以便可以在主机网络中运行 TiDB 组件 (#774, @cofyc) - 当 mdadm 和 RAID 在 GKE 上可用时,使用 mdadm 和 RAID 而不是 LVM (#789, @gregwebs)
- 支持通过增加 PVC 存储大小来动态扩展云存储 PV (#772, @tennix)
- 支持为 PD/TiDB/TiKV 节点池配置节点镜像类型 (#776, @cofyc)
- 添加脚本以删除 GKE 的未使用磁盘 (#771, @gregwebs)
- 对 Pump 和 Drainer 增加
binlog.pump.config
andbinlog.drainer.config
配置项 (#693, @weekface) - 当 Pump 变为 “offline” 状态时,阻止 Pump 进程退出 (#769, @weekface)
- 引入新的
tidb-drainer
helm chart 以管理多个 Drainer (#744, @aylei) - 添加 backup-manager 工具以支持备份、还原和清除备份数据 (#694, @onlymellb)
- 在 Pump/Drainer 的配置中添加
affinity
选项 (#741, @weekface) - 修复 TiKV failover 后某些情况下的 TiKV 缩容失败 (#726, @onlymellb)
- 修复 UpdateService 的错误处理 (#718, @DanielZhangQD)
- 将 e2e 运行时间从 60m 减少到 20m (#713, @weekface)
- 添加
AdvancedStatefulset
功能以使用增强型 StatefulSet 代替 Kubernetes 内置的 StatefulSet (#1108, @cofyc) - 支持为 TiDB 集群自动生成证书 (#782, @AstroProfundis)
- 支持备份到 GCS (#1127, @onlymellb)
- 支持为 TiDB 配置
net.ipv4.tcp_keepalive_time
和net.core.somaxconn
,以及为 TiKV 配置net.core.somaxconn
(#1107, @DanielZhangQD) - 为聚合的 apiserver 添加基本的 e2e 测试 (#1109, @aylei)
- 添加
enablePVReclaim
选项,在 tidb-operator 缩容 TiKV 或 PD 时回收 PV (#1037, @onlymellb) - 统一所有兼容 S3 的存储以支持备份和还原 (#1088, @onlymellb)
- 将
podSecuriyContext
的默认值设置为 nil (#1079, @aylei) - 在
tidb-operator
chart 中添加tidb-apiserver
(#1083, @aylei) - 添加新组件 TiDB aggregated apiserver (#1048, @aylei)
- 修复了当发行版名称是
un-wanted
时tkctl version
不起作用的问题 (#1065, @aylei) - 支持暂停备份计划 (#1047, @onlymellb)
- 修复了在 Terraform 输出中 TiDB Loadbalancer 为空的问题 (#1045, @DanielZhangQD)
- 修复了 AWS terraform 脚本中
create_tidb_cluster_release
变量不起作用的问题 (#1062, @aylei) - 在稳定性测试中,默认情况下启用
ConfigMapRollout
(#1036, @aylei) - 迁移到使用
app/v1
并且不再支持 1.9 版本之前的 Kubernetes (#1012, @Yisaer) - 暂停 AWS TiKV 自动缩放组的
ReplaceUnhealthy
流程 (#1014, @aylei) - 将
tidb-monitor-reloader
镜像更改为pingcap/tidb-monitor-reloader:v1.0.1
(#898, @qiffang) - 添加一些 sysctl 内核参数设置以进行调优 (#1016, @tennix)
- 备份计划支持设置最长保留时间 (#979, @onlymellb)
- 将默认的 TiDB 版本升级到 v3.0.4 (#837, @shonge)
- 在阿里云上修复 TiDB Operator 的定制值文件 (#971, @DanielZhangQD)
- 在 TiKV 中添加
maxFailoverCount
限制 (#965, @weekface) - 支持在 AWS Terraform 脚本中为 tidb-operator 设置自定义配置 (#946, @aylei)
- 在 TiKV 容量不是 GiB 的倍数时,将其转换为 MiB (#942, @cofyc)
- 修复 Drainer 的配置错误 (#939, @weekface)
- 支持使用自定义的
values.yaml
部署 TiDB Operator 和 TiDB 集群 (#959, @DanielZhangQD) - 支持为 PD、TiKV 和 TiDB Pod 指定
SecurityContext
,并为 AWS 启用tcp keepalive
(#915, @aylei)