michael2105
Goto Top

HAProxy - Anfängerfragen

Hallo zusammen,

da ich gerade Zeit habe würde ich mich gerne in HAProxy einarbeiten und folgendes Szenario in einer virtuellen Umgebung umsetzen. Als Virtualisierung kommt VMWare VSphere Essentials Plus mit VSan zum Einsatz, die auf drei physischen Hosts läuft.

Folgendes soll umgesetzt werden:

  • 2x HAProxy
  • 3x Apache Webserver
  • 3x MariaDB Nodes als Galera Cluster

Tutorials dazu gibt es ja reichlich, jedoch finde ich nirgends einen Hinweis dazu, ob der HAProxy auch beide Dienste gleichzeitig abfedern kann. Anders gefragt - kann ich die beiden HAProxy Installationen nutzen um die Apache-Instanzen und gleichzeitig den MariaDB-Galera-Cluster zu prüfen/loadbalancen? Oder habe ich da einen grundsätzlichen Denkfehler bzgl. des Galera-Cluster? Der sollte ja ebenfalls eine virtuelle IP bekommen.

Eine weitere Frage wäre, ob es Sinn machen würde statt zwei HAProxy-Instanzen direkt auf drei Installationen von HAProxy zu setzen - sofern das überhaupt funktioniert? Dann könnte ich alle Instanzen schön auf die VMWare-Nodes verteilen.

Die nächste Frage die sich mir stellt ist, wie ich den DocumentRoot des Apache auf den drei Webservern gleich halten kann. Die Inhalte des DocumentRoot müssen ja auf allen Webserver gleich sein, sonst gibt das ein riesen Chaos. Macht es Sinn den DocumentRoot auf einen hochverfügbaren Speicher auszulagern und diesen dann auf allen Webservern zu mounten? Vielleicht via SSHFS oder SMB/CIFS/NFS?

Letzte Frage bringt mich direkt zur nächsten Frage . An Speicherplatz mangelt es hier nicht, aber könnte der HAProxy auch den Speicher für den DocumentRoot hochverfügbar anbieten?

Auf dem Apache Webserver soll dann anschließend eine Website zu Testzwecken eingerichtet werden, welche ausschließlich HTTPS mit LetsEncrypt Zertifikaten verwendet. Da stellt sich mir grundlegend die Frage, ob die Zertifikate dann auf den HAProxy müssen oder auf jeden einzelnen Webserver? So wie ich das verstanden habe kann man den HAProxy zur SSL Termination nutzen, was aber auch bedeutet, dass der Traffic hinter dem Proxy dann unverschlüsselt übertragen wird?

Puh... Fragen über Fragen...


Da dies ein Testprojekt ist und nur zur. pers. Weiterbildung dient bin ich für jede Hilfe mehr als dankbar.
Kritik und Verbesserungsvorschläge sind immer gerne willkommen.

LG, Michael

Content-ID: 423623

Url: https://administrator.de/contentid/423623

Ausgedruckt am: 12.11.2024 um 19:11 Uhr

Dani
Dani 05.03.2019 um 19:06:04 Uhr
Goto Top
Moin,
Tutorials dazu gibt es ja reichlich, jedoch finde ich nirgends einen Hinweis dazu, ob der HAProxy auch beide Dienste gleichzeitig abfedern kann. Anders gefragt - kann ich die beiden HAProxy Installationen nutzen um die Apache-Instanzen und gleichzeitig den MariaDB-Galera-Cluster zu prüfen/loadbalancen?
Warum soll das nicht gehen. Entweder mit der selben IP, da es unterschiedliche Ports sind oder mit separater IP für jeden Service. In deinem Fall reicht ersteres gut aus.

Eine weitere Frage wäre, ob es Sinn machen würde statt zwei HAProxy-Instanzen direkt auf drei Installationen von HAProxy zu setzen - sofern das überhaupt funktioniert? Dann könnte ich alle Instanzen schön auf die VMWare-Nodes verteilen.
Klar ist denkbar, aber was hast du davon - 2 oder 3?!

Macht es Sinn den DocumentRoot auf einen hochverfügbaren Speicher auszulagern und diesen dann auf allen Webservern zu mounten?
Das hängt davon ab, ob dort nur Informationen bereitgestellt werden oder auch es die Möglichkeit gibt, Daten hochzuladen?

Da stellt sich mir grundlegend die Frage, ob die Zertifikate dann auf den HAProxy müssen oder auf jeden einzelnen Webserver?
Hängt davon ab, welchen Modus du von HAProxy einsetzen möchtest.

So wie ich das verstanden habe kann man den HAProxy zur SSL Termination nutzen, was aber auch bedeutet, dass der Traffic hinter dem Proxy dann unverschlüsselt übertragen wird?
Wo hast du das gelesen?


Gruß,
Dani
michael2105
michael2105 05.03.2019 aktualisiert um 21:08:09 Uhr
Goto Top
Zitat von @Dani:
Warum soll das nicht gehen. Entweder mit der selben IP, da es unterschiedliche Ports sind oder mit separater IP für jeden Service. In deinem Fall reicht ersteres gut aus.
Hab mir zwar auch gedacht das es funktioniert. Ich konnte nur nirgends eine Info dazu finden, dass es auch wirklich so ist. Wahrscheinlich kommt meine Unsicherheit von der "mode = tcp" und/oder "mode = http(s)" Einstellung. Dachte das gilt grundlegend für den ges. HAProxy.

Klar ist denkbar, aber was hast du davon - 2 oder 3?!
Weil ich auch 3 VMWare Nodes habe und der Apache Webserver ebenfalls min. 3 Instanzen bekommen sollte. Dann wäre das Gesamtbild ausgewogen.

Das hängt davon ab, ob dort nur Informationen bereitgestellt werden oder auch es die Möglichkeit gibt, Daten hochzuladen?
Uploads gibt es nur sehr wenige. Mir ging es da eher um Änderungen am Quellcode. Wenn ich etwas am Code ändere will ich das ja nicht dreimal machen sondern nur einmal.

Hängt davon ab, welchen Modus du von HAProxy einsetzen möchtest.
Hm... Also doch wieder der Modus von HAProxy? Die Website läuft auf https. Heißt der Mode in Proxy-Konfiguratio muss auf https. Wird dann gleichzeitig der Modus TCP unterstützt?

Wo hast du das gelesen?
Zum einen hier: https://www.bayreuth.tk/linux-und-bsd/haproxy-als-loadbalancer-und-ssl-o ...
Zum anderen da: https://www.admin-magazin.de/Das-Heft/2014/03/Passthrough-und-Offloading ...

LG, Michael