tidb-operator 1.5.x 的Backup CR 该如何配置才能备份到阿里云OSS 呢?

以 v1.5.2 为例,代码逻辑为:

  1. 读取 secretName 对应 secret, tidb-operator/pkg/backup/util/util.go at master · pingcap/tidb-operator · GitHub
  2. 读取后添加进 env, tidb-operator/pkg/backup/backup/backup_manager.go at v1.5.2 · pingcap/tidb-operator · GitHub
  3. 最后统一设置到 pod env, tidb-operator/pkg/backup/backup/backup_manager.go at v1.5.2 · pingcap/tidb-operator · GitHub

简单来说,secret 里的 key/value 都会设置到 pod env,你可以 get pod -oyaml 或 describe 看一下 spec (BR 是支持 env 配置 AK/SK 后读写 S3 的)

POD 报错:“使用了STS类型的AccessKey ID,但是未在请求中附上SecurityToken字段表明使用了STS的认证方式”

需要找 OSS 的技术支持确认为何要求 token

但是在备份的最后阶段,Backup CR 去OSS 里读取备份的元数据时就报错:error: read backup meta from bucket basicai-ops-backup and prefix tidb_test/alidev?access-key=LTA…N&secret-access-key=MD…K: backupmeta not exist

同上 :sweat_smile: