GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So richten Sie einen Load Balancer auf einem s0.d1.small BMC-Server ein

Einführung

Die phoenixNAP Bare Metal Cloud vorkonfigurierte Einzel-CPU-Instanz ist eine ideale Lösung für den Lastausgleich. Ein Software-Load-Balancer erfordert keine anspruchsvolle Hardware und die günstigste BMC-Instanz ist mehr als genug, um Ihnen den Einstieg zu erleichtern.

Dieses Tutorial erläutert ein Beispiel-Setup für einen Load Balancer auf der BMC-Serverinstanz s0.d1.small von phoenixNAP.

Voraussetzungen

  • Ein Bare-Metal-Cloud-Konto (BMC).
  • Zugriff auf die Befehlszeile/das Terminal mit sudo-Berechtigungen.
  • Zugriff auf den Browser mit einer stabilen Internetverbindung.

Was ist Load-Balancing?

Load Balancing verteilt hohes Datenverkehrsvolumen auf mehrere Server und stellt sicher, dass keine einzelne Instanz überlastet wird. Das Endziel des Lastenausgleichs ist die allgemeine Verarbeitungseffizienz und eine bessere Benutzererfahrung.

Der Load Balancer überwacht den Zustand des Backend-Servers und sorgt für eine optimale Verarbeitung von Anfragen und Serverressourcen. Load Balancer helfen beispielsweise dabei, Datenverkehr umzuleiten, wenn ein Server eine Anfrage nicht empfangen kann.

S.0 BMC-Instanz als Load Balancer

Softwarebasierte Load Balancer lassen sich einfach auf einem BMC-Server als Linux-Prozess einrichten. Beispielsweise ist das HAproxy-Serverdienstprogramm einfach zu installieren und als Load Balancer auf einer BMC-Instanz zu konfigurieren.

Das Setup hat folgende Struktur:

  • Die kleine BMC-Instanz fungiert als Load Balancer.
  • Die drei Testserver fungieren als Serverfarm.

Befolgen Sie die Anweisungen zum Einrichten einer beispielhaften lokalen Webanwendung mit einem Load Balancer.

Schritt 1:SSH-Schlüssel generieren

Generieren Sie ein Schlüsselpaar auf dem Computer, den Sie verwenden werden, um sich über SSH mit BMC zu verbinden. Überspringen Sie diesen Schritt, wenn es einen gespeicherten Schlüssel auf dem BMC-Portal gibt, das Sie verwenden möchten.

1. Öffnen Sie das Terminal (STRG +ALT +T ).

2. Generieren Sie einen neuen SSH-Schlüssel:

ssh-keygen

Der Befehl startet den Keygen-Prozess.

3. Befolgen Sie die Schritte zum Erstellen des Schlüsselpaars. Wenn es vorhandene Schlüssel gibt, die Sie unter id_rsa gespeichert behalten möchten , ändern Sie den Schlüsselnamen. Drücken Sie andernfalls Enter um den Standardspeicherort auszuwählen und die vorhandenen Schlüssel zu überschreiben.

Fügen Sie für zusätzliche Sicherheit eine Passphrase hinzu.

Wenn der Vorgang abgeschlossen ist, gibt die Ausgabe die Position des Schlüsselpaars und das Randomart-Bild aus.

4. Öffnen Sie die id_rsa.pub Datei mit Vi:

sudo vi ~/.ssh/id_rsa.pub

5. Kopieren Sie den Dateiinhalt und beenden Sie den Editor:

:q

Der folgende Schritt verwendet die id_rsa.pub Inhalt.

Schritt 2:Stellen Sie eine s0.d1.small BMC-Instanz bereit und stellen Sie eine Verbindung über SSH her

1. Melden Sie sich mit Ihren phoenixNAP Client Portal-Anmeldeinformationen beim BMC-Portal an.

2. Klicken Sie auf Neuen Server bereitstellen auf den Servern Seite.

3. Wählen Sie den Standort aus für den Server im ersten Abschnitt. Wählen Sie gleich danach ein Abrechnungsmodell aus.

4. Wählen Sie s0.d1.small aus BMC-Instanz vom Server Abschnitt.

5. Wählen Sie im folgenden Abschnitt ein Betriebssystem aus. Wir verwenden Ubuntu Bionic . Drücken Sie Weiter um zur Seite Instanzdetails zu gelangen.

6. Geben Sie den Hostnamen und optional eine Beschreibung für den Server ein.

7. Wenn Sie im vorherigen Abschnitt einen neuen Schlüssel generiert haben, klicken Sie auf Neuen öffentlichen SSH-Schlüssel hinzufügen und fügen Sie die id_rsa.pub ein Inhalt, um einen neuen Schlüssel hinzuzufügen. Wenn Sie einen Schlüssel im Portal gespeichert haben, geben Sie den Namen des gespeicherten Schlüssels ein und wählen Sie ihn aus der Liste aus.

8. Kaufen Sie eine IP-Zuteilung oder weisen Sie eine bestehende Zuteilung zu. Um diese Anleitung zu testen, ist mindestens eine öffentliche IP erforderlich, also /31 IP-Zuweisung als Mindestanforderung.

9. Überprüfen Sie die Details noch einmal und klicken Sie auf Neuen Server bereitstellen Schaltfläche, um den Vorgang abzuschließen, wenn Sie bereit sind.

10. Geben Sie den Hostnamen ein, um Ihre BMC-Instanz zu finden, und klicken Sie auf den Namen, um Serverdetails anzuzeigen. Der Server ist bereit, wenn der Status als Eingeschaltet angezeigt wird .

Die zugewiesene IP befindet sich in den öffentlichen IPs Abschnitt zu den Serverdetails Seite.

Verwenden Sie die Adressen für den nächsten Schritt.

10. Verbinden Sie sich per SSH mit dem Computer, indem Sie den folgenden Befehl im Terminal ausführen:

ssh [email protected]<your public IP>

Wenn Sie aufgefordert werden, die Authentizität zu bestätigen, geben Sie yes ein um den Standort zu bekannten Hosts hinzuzufügen und sich mit dem BMC-Server zu verbinden.

Schritt 3:HAProxy installieren

1. Fügen Sie das HAProxy-Repository hinzu:

sudo add-apt-repository ppa:vbernat/haproxy-1.8

2. Drücken Sie Eingabe wenn Sie aufgefordert werden, das Repository hinzuzufügen.

3. Aktualisieren Sie nach Abschluss des Vorgangs die Pakete:

sudo apt-get update

4. Zuletzt installieren Sie HAProxy mit:

sudo apt-get install haproxy

Schritt 4:Test-Webserver erstellen

1. Erstellen Sie drei Verzeichnisse, die als Server fungieren:

mkdir server{1..3}

2. Erstellen Sie eine Zielseite für jeden Server:

touch server{1..3}/index.html

3. Bearbeiten Sie jede index.html Datei:

sudo vi server1/index.html

4. Fügen Sie den folgenden Inhalt hinzu:

<!DOCTYPE html>
<html>
        <title>Server 1</title>
        <body>Connected!</body>
</html>

5. Fügen Sie denselben Inhalt zu server2/index.html hinzu und server3/index.html . Ändern Sie den Inhalt der Title-Tags in Server 2 und Server 3 Hochachtungsvoll.

Schritt 5:HAProxy Load Balancer konfigurieren

1. Bearbeiten Sie die Standardkonfiguration für HAProxy:

sudo vi /etc/haproxy/haproxy.cfg

2. Löschen Sie alles aus der Datei und fügen Sie den folgenden Inhalt hinzu:

defaults
  mode http
  timeout client 10s
  timeout connect 5s
  timeout server 10s
  timeout http-request 10s

frontend myfrontend
  bind 127.0.0.1:80
  default_backend myservers

backend myservers
  balance roundrobin
  server server1 127.0.0.1:8000
  server server2 127.0.0.1:8001
  server server3 127.0.0.1:8002

Die Konfigurationsdatei besteht aus drei Abschnitten:

  • defaults sind die gemeinsamen Einstellungen, die in allen folgenden Abschnitten definiert sind. Der Abschnitt legt die Wartezeiten fest, um allgemeine Verbindungsprobleme zu vermeiden.
  • frontend definiert die Adresse und den Port, wo HAProxy Anfragen empfängt. Das default_backend Linie zeigt, wohin der Load Balancer die Verbindungen weiterleiten soll.
  • backend speichert die Serveradressen und Ports für mehrere Server, die im folgenden Schritt definiert werden. Der Load-Balancing-Algorithmus ist auf Round Robin eingestellt .

3. Speichern Sie die Datei und schließen Sie:

:wq

4. Starten Sie HAProxy neu, um die Konfiguration zu übernehmen:

sudo systemctl restart haproxy

Die Ausgabe gibt nichts an die Konsole aus.

Schritt 6:Server ausführen und Load Balancer testen

1. Öffnen Sie drei weitere Terminal-Tabs und melden Sie sich beim Server an:

ssh [email protected]<your public IP>

Es sind jetzt vier Terminal-Tabs geöffnet.

2. Navigieren Sie auf jeder Registerkarte zu den Serverordnern:

cd server1
cd server2
cd server3

3. Führen Sie den Testserver in jedem Terminal-Tab auf einem anderen Port aus:

python3 -m http.server 8000 --bind 127.0.0.1
python3 -m http.server 8001 --bind 127.0.0.1
python3 -m http.server 8002 --bind 127.0.0.1

4. Testen Sie im vierten Tab die Verbindung mit curl :

curl 127.0.0.1:80

Führen Sie den Befehl noch zweimal aus, um zu bestätigen, dass der Load Balancer ordnungsgemäß funktioniert.

Der Round-Robin-Load-Balancing-Algorithmus stellt sicher, dass die Anfragen einmal an jeden Server weitergeleitet werden, um die Last auszugleichen.

Warum S.0 als Load Balancer verwenden?

Die Konfiguration eines S.0-BMC-Servers als Load Balancer ist eine kostengünstige Möglichkeit, die Geschwindigkeit und Ressourcenkapazität eines Server-Clusters zu maximieren.

Einige Vorteile der Verwendung des BMC-Servers s0.d1.small als Load Balancer sind:

  • Geringe Kosten . Die Instanz ist das kleinste und günstigste Angebot, und die Konfiguration bewältigt problemlos die Lastausgleichslast. Bezahlen Sie auf Stundenbasis, pro Monat oder nehmen Sie je nach Anwendungsfall eine längere Reservierung vor.
  • Effizienter Umgang mit Netzwerküberlastung . Die allgemeine Instanz wird häufig für stark frequentierte Websites verwendet und nutzt alle Ressourcen ausgewogen.
  • Erhöhte Sicherheit und Hochverfügbarkeit . Das Netzwerk ist robust, schnell, mit geringer Latenz und zuverlässig. Darüber hinaus verfügt jeder Server über einen DDoS-Schutz mit 20 Gbit/s, um maximale Verfügbarkeit und Sicherheit bei Angriffen zu gewährleisten.

Ubuntu
  1. So richten Sie WireGuard unter Ubuntu 22.04 ein

  2. So konfigurieren Sie den HAProxy-Load-Balancer

  3. DHCP-Server auf CentOS 8 einrichten – wie geht das?

  4. So installieren und konfigurieren Sie den HAProxy-Load-Balancer unter Debian 11

  5. So installieren und konfigurieren Sie den HAProxy-Load-Balancer unter Ubuntu 20.04

So richten Sie einen OpenVPN-Server unter CentOS 7 ein

So richten Sie einen Minecraft-Server unter Debian 10 ein

So richten Sie den CUPS-Druckserver unter Ubuntu 20.04 ein

So richten Sie einen DHCP-Server unter CentOS 8 ein

So richten Sie HAProxy als Load Balancer für Nginx unter CentOS 8 ein

Wie richte ich einen Apt-Cacher-Server ein?