【 TiDB 使用环境】测试环境 kubernetes环境 opertator为1.5.4版本
【 TiDB 版本】企业版7.1.0
【复现路径】创建bks时不置顶日志备份配置导致报错
【遇到的问题:问题现象及影响】
1、创建bks时指定logBackupTemplate为空,集群创建后会有一个bk创建失败
2、创建bks时不指定logBackupTemplate,则创建bks失败,报错信息为:
BackupSchedule.pingcap.com “basic-backup-schedule” is invalid: spec.logBackupTemplate: Invalid value: “null”: spec.logBackupTemplate in body must be of type object: “null”
问题:
1、在创建bks时可不可以不指定logBackupTemplate参数(因为有时候不需要开启日志备份)
liyuntang:
【 TiDB 使用环境】测试环境 kubernetes环境 opertator为1.5.4版本
【 TiDB 版本】企业版7.1.0
【复现路径】创建bks时不置顶日志备份配置导致报错
【遇到的问题:问题现象及影响】
1、创建bks时指定logBackupTemplate为空,集群创建后会有一个bk创建失败
2、创建bks时不指定logBackupTemplate,则创建bks失败,报错信息为:
BackupSchedule.pingcap.com “basic-backup-schedule” is invalid: spec.logBackupTemplate: Invalid value: “null”: spec.logBackupTemplate in body must be of type object: “null”
问题:
1、在创建bks时可不可以不指定logBackupTemplate参数(因为有时候不需要开启日志备份)
你可以通过配置一个空的 logBackupTemplate
对象来绕过这个类型检查。以下是一个示例的 BackupSchedule
YAML 文件:
# 日志备份模板,配置为空对象
logBackupTemplate: {}
2 个赞
原则上可以加上这个配置,但在创建集群过程中会出发一个失败的bk任务,不是太友好
我用2个版本的k8s集群做了个实验,过程如下
1、k8s版本信息如下
2、上传创建bks程序到两个k8s集群的测试目录,并执行程序
3、查看1.21版本集群的bks配置,并将其复制到1.19版本k8s集群中
4、在1.19版本k8s集群中执行复制的bks配置
创建bks程序:
main.go (3.8 KB)
crd已经更新
官方文档上说是得讲k8s集群至少升级到20版本
这个地方有个疑问:
在1.19版本k8s集群中为什么调用operator接口创建bks失败,但是通过yaml文件创建bks却可以成功,而且这个yaml文件是在21版本中调用operator接口生成的,why?