Ich betreibe eine Linux-VM in Azure (nginx). Ich möchte mehrere Instanzen hinzufügen, damit ein Lastenausgleich möglich ist. Was ich nicht verstehe, ist, wie ich beispielsweise die nginx-Konfiguration ändere und auf alle Instanzen anwende.
Muss ich ein Skript schreiben, um die Konfigurationsdateien in jede Instanz zu kopieren und dann ein Skript erstellen, das an jede Instanz den Befehl „remote nginx -s reload“ sendet?
Was passiert, wenn ich eine neue Instanz hinzufügen möchte? Mein Image ist jetzt vermutlich veraltet, sodass ich glaube, dass ich die neue Instanz erstellen und das oben erwähnte Skript darauf ausführen muss?
Antwort1
Dies ist eine Aufgabe für ein Konfigurationsmanagementsystem. Es gibt mehrere davon, wieKoch,MarionetteoderAnsibleWenn Sie nur eine Basiskonfiguration beibehalten möchten, können Sie sich Ansible ansehen, da es einfacher ist.
Eine andere Möglichkeit wäre, etwas Einfacheres zu verwenden, wieStoffum Konfigurationen von Ihren Workstations zu übertragen. Sie können ein schönes Tutorial inhttps://www.digitalocean.com/community/tutorials/how-to-use-fabric-to-automate-administration-tasks-and-deployments
Antwort2
Sie können auch Azure Files Storage zum Teilen von Konfigurationen verwenden. Es handelt sich um SMB as a Service und es ist möglich, es auf vielen VMs in Ihrem virtuellen Netzwerk zu mounten. Sie können Dateien auf der Freigabe mit REST API ändern (es ist CRUD). Die Implementierung ist viel einfacher als Ansible, aber Ansible ist für allgemeine Verwaltungsaufgaben besser geeignet.