Ich habe einen Server, den ich für Selbstheilung und automatische Skalierung eines Consul-Clusters verwende. Dies geschieht mit Terraform-Skripten, die von Consul-Watches und Health-Checks ausgeführt werden.Terraform einrichten "COMMAND: REMOTE CONFIG" mit Konsul
Ich möchte einen zusätzlichen Backup-Terraform-Server für Failover hinzufügen. Um dies zu tun, muss ich die und terraform.tfstate.backup
zwischen meinen Servern teilen, so dass sie Terraform auf denselben Ressourcen ausführen können. Ich möchte diese Dateien mit der Terraform "COMMAND: REMOTE CONFIG" teilen, aber mir ist unklar, wie ich die Aktie beginnen würde.
Grundsätzlich möchte ich die terraform.tfstate
und terraform.tfstate.backup
Dateien ständig auf beiden Servern synchronisiert sein. Hier ist mein Versuch, dies einzurichten. Beachten Sie, dass beide Terraforming-Server Konsul Kunden den Rest meines Konsuls Cluster verbunden ausgeführt werden:
terraform remote config \
-backend=consul \
-backend-config="address=localhost:8500" \
-backend-config="path=/consul-scripts/terr/terraform.tfstate" \
-backend-config="backup=/consul-scripts/terr/terraform.tfstate.backup" \
-path="/consul-scripts/terr/terraform.tfstate" \
-backup="/consul-scripts/terr/terraform.tfstate.backup" \
-address="localhost:8500"
Doch dies war offensichtlich die falsche Syntax. Beim Versuch, den Konsul Beispiel auf der verlinkten Dokumentation laufen erhielt ich die folgende Ausgabe:
[email protected]:/consul-scripts/terr$ terraform remote config \
> -backend=consul \
> -backend-config="address=localhost:8500" \
> -backend-config="path=/consul-scripts/terr/terraform.tfstate"
Error writing backup state file: open terraform.tfstate.backup: permission denied
würde Ich mag meinen Terraforming-Server habe synchronisieren durch das Terraforming „COMMAND: Fernconfig“ anstelle einer normalen Dateifreigabe System wie Glusterfs oder so etwas.
Wie kann ich meine Terraform-Dateien auf diese Weise korrekt synchronisieren?
Diese Fehlermeldung schlägt vor, dass Sie g ot der remote config-Befehl korrekt genug, dass Terraform versuchte, den Remote-Zustand zu aktivieren, aber welchen Benutzer auch immer Sie "terraform" ausführen, da er keinen Schreibzugriff hat, um die Datei "terraform.tfstate.backup" im lokalen Dateisystem zu erstellen oder zu aktualisieren. –