stevejr
(Steve)
1
您好,
我在 EKS 集群中部署了 Discourse,并使用 IAM Roles for Service Accounts 来访问两个 S3 存储桶——一个用于静态资源,一个用于备份。s3_use_iam_profile 标志已设置为 true。
我的设置配置为每日备份,并且应该上传到 S3 备份存储桶。但是,我在日志中看到备份正在运行,但当它完成并且应该上传到 S3 时,它只是跳过了该步骤,就好像没有设置一样。
我找到了这篇旧帖子 - Discourse does not support service account and IAM role for S3 backup - 其中提到使用 IRSA 或 IAM 配置文件不起作用。现在,如果我通过管理员界面手动运行备份,它会完成并上传到 S3,那么我是否需要设置其他内容才能使其自动发生?
非常感谢,
Steve
pfaffman
(Jay Pfaffman)
2
我不知道。这是我接下来要检查的内容。
您的 EKS 是否可能在备份被压缩并推送到 S3 之前就被终止了?也许是空间不足或其他类似原因?
stevejr
(Steve)
3
您好 Jay,
一切看起来都很好。Pod 日志显示自动备份已成功完成并正常结束。看起来检查远程是否启用的功能不正确地返回了 false。
我们正在运行 v3.0.1,这是从此提交构建的 - Commits · discourse/discourse · GitHub
查看代码,这是返回的行 - discourse/lib/backup_restore/backuper.rb at 4571b10ee5a3c46249271b2870d6eaf37994460f · discourse/discourse · GitHub
我发现了两件有趣的事情:
1 - 当我在管理界面手动运行备份时,它会成功完成,并且压缩的 gzip 文件会上传到 S3。
2- 看起来上面的代码行自 v3.0.1 以来已更改 - 该行已从 return unless @store.remote? 变为 return unless store.remote? - 我的 Ruby 不太好,但 Google 告诉我 @variable 是 self 的实例变量,那么我是否需要进行其他设置才能使其与 v3.0.1 一起使用,还是应该升级到 v3.0.2?
再次感谢。
pfaffman
(Jay Pfaffman)
4
再说一遍,我不知道,但通常来说,如果你遇到一些奇怪的行为,升级通常是个好主意。
看起来它应该调用这个:
我不知道为什么它可能会失败。