文档目录

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 the timezone 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 a TZ env) will be recreated (rolling update).

    Regarding other charts, we don't have a timezone option in their values.yaml. We add the timezone option in this PR. No matter whether the user uses the old values.yaml or the new values.yaml, all the related Pods (add a TZ env) will not be recreated (rolling update).

    The related Pods include pump, drainer, discovery, monitor, scheduled backup, tidb-initializer, and tikv-importer.

    All images' time zone maintained by tidb-operator is UTC. If you use your own images, you need to make sure that the time zone inside your images is UTC.

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 account tidb-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 in tkctl 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 thattkctl ouputs nothing with the -oyaml or -ojson flag and support viewing details of a specific Pod or PV, also improve the output of the tkctl 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 and binlog.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 and net.core.somaxconn for TiDB and configuring net.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)