Kubernetes 上的 TiDB 集群备份配置
tidb-backup
是一个用于 Kubernetes 上 TiDB 集群备份和恢复的 Helm Chart。本文详细介绍了 tidb-backup
的可配置参数。
mode
- 运行模式
- 默认:"backup"
- 可选值为
backup
(备份集群数据)和restore
(恢复集群数据)
clusterName
- 目标集群名字
- 默认:"demo"
- 指定要从哪个集群进行备份或将数据恢复到哪个集群中
name
- 备份名
- 默认值:
"fullbackup-<date>"
,<date>
是备份的开始时间,精确到分钟 - 备份名用于区分不同的备份数据
secretName
访问目标集群时使用的凭据
默认:"backup-secret"
该 Kubernetes Secret 中需要存储目标集群的登录用户名和密码,你可以通过以下命令来创建这个 Secret:
kubectl create secret generic backup-secret -n <namespace> --from-literal=user=root --from-literal=password=<password>
storage.className
- Kubernetes StorageClass
- 默认:"local-storage"
- 备份任务需要绑定一个持久卷 (Persistent Volume, PV) 来永久或临时存储备份数据,
StorageClass
用于声明持久卷使用的存储类型,需要确保该StorageClass
在 Kubernetes 集群中存在。
storage.size
- 持久卷的空间大小
- 默认:"100Gi"
backupOptions
- 备份参数
- 默认:"--chunk-filesize=100"
- 为备份数据时使用的 Mydumper 指定额外的运行参数
restoreOptions
- 恢复参数
- 默认:"-t 16"
- 为恢复数据时使用的 Loader 指定额外的运行参数
gcp.bucket
- Google Cloud Storage 的 bucket 名字
- 默认:""
- 用于存储备份数据到 Google Cloud Storage 上
gcp.secretName
访问 GCP 时使用的凭据
默认:""
该 Kubernetes Secret 中需要存储 GCP 的 Service Account 凭据,你可以参考 Google Cloud Documentation 来下载凭据文件,然后通过下面的命令创建 Secret:
kubectl create secret generic gcp-backup-secret -n <namespace> --from-file=./credentials.json
ceph.endpoint
- Ceph 对象存储的 Endpoint
- 默认:""
- 用于访问 Ceph 对象存储
ceph.bucket
- Ceph 对象存储的 bucket 名字
- 默认:""
- 用于存储数据到 Ceph 对象存储上
ceph.secretName
访问 Ceph 对象存储时使用的凭据
默认:""
该 Kubernetes Secret 中需要存储访问 Ceph 时使用的
access_key
和secret_key
。可使用如下命令来创建这个 Secret:kubectl create secret generic ceph-backup-secret -n <namespace> --from-literal=access_key=<access-key> --from-literal=secret_key=<secret-key>