ich habe Discourse in einem EKS-Cluster bereitgestellt und verwende IAM Roles for Service Accounts, um den Zugriff auf zwei S3-Buckets zu ermöglichen – einen für Assets und einen für Backups. Das Flag s3_use_iam_profile ist auf „true“ gesetzt.
Meine Einstellungen sind so konfiguriert, dass das Backup täglich erfolgt und in den S3-Backup-Bucket hochgeladen werden soll. Ich sehe jedoch, dass das Backup in den Protokollen ausgeführt wird, aber wenn es abgeschlossen ist und in S3 hochgeladen werden soll, wird dieser Schritt einfach übersprungen, als ob er nicht eingerichtet wäre.
Ich habe diesen alten Beitrag gefunden – Discourse does not support service account and IAM role for S3 backup –, dass die Verwendung von IRSA oder einem IAM-Profil nicht funktioniert. Wenn ich das Backup jetzt manuell über die Admin-Oberfläche ausführe, wird es abgeschlossen und in S3 hochgeladen. Muss ich also noch etwas anderes einstellen, damit dies automatisch geschieht?
Ich weiß es nicht. Hier ist, was ich als Nächstes überprüfen würde.
Könnte Ihr EKS beendet werden, bevor das Backup komprimiert und nach S3 übertragen wird? Vielleicht ist kein Speicherplatz mehr vorhanden oder so etwas?
Alles sieht gut aus. Die Pod-Protokolle zeigen, dass das automatische Backup erfolgreich abgeschlossen wurde und in Ordnung ist. Es scheint, dass die Prüfung, ob Remote aktiviert ist, fälschlicherweise false zurückgibt.
1 - Wenn ich das Backup manuell in der Admin-Oberfläche ausführe, wird es erfolgreich abgeschlossen und die komprimierte Gzip-Datei wird auf S3 hochgeladen.
2- Es scheint, dass sich die obige Codezeile seit v3.0.1 geändert hat - die Zeile hat sich von return unless @store.remote? zu return unless store.remote? geändert - mein Ruby ist nicht gut, aber Google sagt mir, dass eine @variable eine Instanzvariable von self ist, also gibt es eine andere Einstellung, die ich vornehmen muss, damit dies mit v3.0.1 funktioniert, oder sollte ich auf v3.0.2 upgraden?