TiDB Operator 1.1 Beta.1 Release Notes
Release date: January 8, 2020
TiDB Operator version: 1.1.0-beta.1
Action Required
ACTION REQUIRED: Add the
timezone
support for all charts (#1122, @weekface).For the
tidb-cluster
chart, we already have thetimezone
option (UTC
by default). If the user does not change it to a different value (for example:Aisa/Shanghai
), all Pods will not be recreated.If the user changes it to another value (for example:
Aisa/Shanghai
), all the related Pods (add aTZ
env) will be recreated (rolling update).Regarding other charts, we don’t have a
timezone
option in theirvalues.yaml
. We add thetimezone
option in this PR. No matter whether the user uses the oldvalues.yaml
or the newvalues.yaml
, all the related Pods (add aTZ
env) will not be recreated (rolling update).The related Pods include
pump
,drainer
,discovery
,monitor
,scheduled backup
,tidb-initializer
, andtikv-importer
.All images’ time zone maintained by
tidb-operator
isUTC
. If you use your own images, you need to make sure that the time zone inside your images isUTC
.
Other Notable Changes
- Support backup to S3 with Backup & Restore (BR) (#1280, @DanielZhangQD)
- Add basic defaulting and validating for
TidbCluster
(#1429, @aylei) - Support scaling in/out with deleted slots feature of advanced StatefulSets (#1361, @cofyc)
- Support initializing the TiDB cluster with TidbInitializer Custom Resource (#1403, @DanielZhangQD)
- Refine the configuration schema of PD/TiKV/TiDB (#1411, @aylei)
- Set the default name of the instance label key for
tidbcluster
-owned resources to the cluster name (#1419, @aylei) - Extend the custom resource
TidbCluster
to support managing the Pump cluster (#1269, @aylei) - Fix the default TiKV-importer configuration (#1415, @aylei)
- Expose ephemeral-storage in resource configuration (#1398, @aylei)
- Add e2e case of operating tidb-cluster without helm (#1396, @aylei)
- Expose terraform Aliyun ACK version and specify the default version to ‘1.14.8-aliyun.1’ (#1284, @shonge)
- Refine error messages for the scheduler (#1373, @weekface)
- Bind the cluster-role
system:kube-scheduler
to the service accounttidb-scheduler
(#1355, @shonge) - Add a new CRD TidbInitializer (#1391, @aylei)
- Upgrade the default backup image to pingcap/tidb-cloud-backup:20191217 and facilitate the
-r
option (#1360, @aylei) - Fix Docker ulimit configuring for the latest EKS AMI (#1349, @aylei)
- Support sync pump status to tidb-cluster (#1292, @shonge)
- Support automatically creating and reconciling the tidb-discovery-service for
tidb-controller-manager
(#1322, @aylei) - Make backup and restore more universal and secure (#1276, @onlymellb)
- Manage PD and TiKV configurations in the
TidbCluster
resource (#1330, @aylei) - Support managing the configuration of tidb-server in the
TidbCluster
resource (#1291, @aylei) - Add schema for configuration of TiKV (#1306, @aylei)
- Wait for the TiDB
host:port
to be opened before processing to initialize TiDB to speed up TiDB initialization (#1296, @cofyc) - Remove DinD related scripts (#1283, @shonge)
- Allow retrieving credentials from metadata on AWS and GCP (#1248, @gregwebs)
- Add the privilege to operate configmap for tidb-controller-manager (#1275, @aylei)
- Manage TiDB service in tidb-controller-manager (#1242, @aylei)
- Support the cluster-level setting for components (#1193, @aylei)
- Get the time string from the current time instead of the Pod name (#1229, @weekface)
- Operator will not resign the ddl owner anymore when upgrading tidb-servers because tidb-server will transfer ddl owner automatically on shutdown (#1239, @aylei)
- Fix the Google terraform module
use_ip_aliases
error (#1206, @tennix) - Upgrade the default TiDB version to v3.0.5 (#1179, @shonge)
- Upgrade the base system of Docker images to the latest stable (#1178, @AstroProfundis)
tkctl get TiKV
now can show store state for each TiKV Pod (#916, @Yisaer)- Add an option to monitor across namespaces (#907, @gregwebs)
- Add the
STOREID
column to show the store ID for each TiKV Pod intkctl get TiKV
(#842, @Yisaer) - Users can designate permitting host in chart values.tidb.permitHost (#779, @shonge)
- Add the zone label and reserved resources arguments to kubelet (#871, @aylei)
- Fix an issue that kubeconfig may be destroyed in the apply phrase (#861, @cofyc)
- Support canary release for the TiKV component (#869, @onlymellb)
- Make the latest charts compatible with the old controller manager (#856, @onlymellb)
- Add the basic support of TLS encrypted connections in the TiDB cluster (#750, @AstroProfundis)
- Support tidb-operator to spec nodeSelector, affinity and tolerations (#855, @shonge)
- Support configuring resources requests and limits for all containers of the TiDB cluster (#853, @aylei)
- Support using Kind (Kubernetes IN Docker) to set up a testing environment (#791, @xiaojingchen)
- Support ad-hoc data source to be restored with the tidb-lightning chart (#827, @tennix)
- Add the
tikvGCLifeTime
option (#835, @weekface) - Update the default backup image to pingcap/tidb-cloud-backup:20190828 (#846, @aylei)
- Fix the Pump/Drainer data directory to avoid potential data loss (#826, @aylei)
- Fix the issue that
tkctl
ouputs nothing with the-oyaml
or-ojson
flag and support viewing details of a specific Pod or PV, also improve the output of thetkctl get
command (#822, @onlymellb) - Add recommendations options to mydumper:
-t 16 -F 64 --skip-tz-utc
(#828, @weekface) - Support zonal and multi-zonal clusters in deploy/gcp (#809, @cofyc)
- Fix ad-hoc backup when the default backup name is used (#836, @DanielZhangQD)
- Add the support for tidb-lightning (#817, @tennix)
- Support restoring the TiDB cluster from a specified scheduled backup directory (#804, @onlymellb)
- Fix an exception in the log of
tkctl
(#797, @onlymellb) - Add the
hostNetwork
field in PD/TiKV/TiDB spec to make it possible to run TiDB components in host network (#774, @cofyc) - Use mdadm and RAID rather than LVM when it is available on GKE (#789, @gregwebs)
- Users can now expand cloud storage PV dynamically by increasing the PVC storage size (#772, @tennix)
- Support configuring node image types for PD/TiDB/TiKV node pools (#776, @cofyc)
- Add a script to delete unused disk for GKE (#771, @gregwebs)
- Support
binlog.pump.config
andbinlog.drainer.config
configurations for Pump and Drainer (#693, @weekface) - Prevent the Pump progress from exiting with 0 if the Pump becomes
offline
(#769, @weekface) - Introduce a new helm chart, tidb-drainer, to facilitate multiple Drainers management (#744, @aylei)
- Add the backup-manager tool to support backing up, restoring, and cleaning backup data (#694, @onlymellb)
- Add
affinity
to Pump/Drainer configration (#741, @weekface) - Fix the TiKV scaling failure in some cases after TiKV failover (#726, @onlymellb)
- Fix error handling for UpdateService (#718, @DanielZhangQD)
- Reduce e2e run time from 60 m to 20 m (#713, @weekface)
- Add the
AdvancedStatefulset
feature to use advanced StatefulSet instead of Kubernetes builtin StatefulSet (#1108, @cofyc) - Enable auto generate certificates for the TiDB cluster (#782, @AstroProfundis)
- Support backup to gcs (#1127, @onlymellb)
- Support configuring
net.ipv4.tcp_keepalive_time
andnet.core.somaxconn
for TiDB and configuringnet.core.somaxconn
for TiKV (#1107, @DanielZhangQD) - Add basic e2e tests for aggregated apiserver (#1109, @aylei)
- Add the
enablePVReclaim
option to reclaim PV when tidb-operator scales in TiKV or PD (#1037, @onlymellb) - Unify all S3 compliant storage to support backup and restore (#1088, @onlymellb)
- Set podSecuriyContext to nil by default (#1079, @aylei)
- Add tidb-apiserver in the tidb-operator chart (#1083, @aylei)
- Add new component TiDB aggregated apiserver (#1048, @aylei)
- Fix the issue that the tkctl version does not work when the release name is un-wanted (#1065, @aylei)
- Support pause for backup schedule (#1047, @onlymellb)
- Fix the issue that TiDB Loadbalancer is empty in terraform output (#1045, @DanielZhangQD)
- Fix that the
create_tidb_cluster_release
variable in AWS terraform script does not work (#1062, @aylei) - Enable
ConfigMapRollout
by default in the stability test (#1036, @aylei) - Migrate to use app/v1 and do not support Kubernetes before 1.9 anymore (#1012, @Yisaer)
- Suspend the ReplaceUnhealthy process for AWS TiKV auto-scaling-group (#1014, @aylei)
- Change the tidb-monitor-reloader image to pingcap/tidb-monitor-reloader:v1.0.1 (#898, @qiffang)
- Add some sysctl kernel parameter settings for tuning (#1016, @tennix)
- Support maximum retention time backups for backup schedule (#979, @onlymellb)
- Upgrade the default TiDB version to v3.0.4 (#837, @shonge)
- Fix values file customization for tidb-operator on Aliyun (#971, @DanielZhangQD)
- Add the
maxFailoverCount
limit to TiKV (#965, @weekface) - Support setting custom tidb-operator values in terraform script for AWS (#946, @aylei)
- Convert the TiKV capacity into MiB when it is not a multiple of GiB (#942, @cofyc)
- Fix Drainer misconfiguration (#939, @weekface)
- Support correctly deploying tidb-operator and tidb-cluster with customized
values.yaml
(#959, @DanielZhangQD) - Support specifying SecurityContext for PD, TiKV and TiDB Pods and enable tcp keepalive for AWS (#915, @aylei)