Übersicht über Azure Clustering #
Der folgende Artikel beschreibt die Einrichtung erweiterter Lastenausgleichsdienste mit RELIANOID Load Balancer für hohe Verfügbarkeit in der Azure Virtual Machine Infrastructure. Wir beschreiben das Verfahren zum Konfigurieren eines RELIANOID Clustern und konfigurieren Sie ein TCP-Lastausgleichsprofil für den Lastausgleich von HTTP-Diensten mit einer Farm aus Back-End-Servern.
Cloud Load Balancer-Clusterumgebung #
Dieses Mal zeigen wir, wie es in Azure mithilfe von Azure-Diensten angewendet werden kann. Das folgende Diagramm beschreibt die Architektur, die wir bereitstellen möchten. Ein Web-Load-Balancing mit RELIANOID Anwendungsbereitstellungscontroller in Azure.
. Der RELIANOID VM wird mit einer Netzwerkschnittstelle konfiguriert eth0 und mit beiden ein Öffentliche und einem Private IP.
LB1 ist zugeordnet 10.0.1.9 als Private IP und 40.117.239.182 als öffentliche IP.
LB2 ist zugeordnet 10.0.1.8 als Private IP und 137.135.92.30 als öffentliche IP.
Zusätzlich wird LB1 eine weitere virtuelle IP-Adresse (Typ „Sekundär“ ) mit dem Namen eth0:vp1 und der privaten IP-Adresse 10.0.1.11 zugewiesen . Diese dient zur Konfiguration eines virtuellen Dienstes oder einer virtuellen Farm für den Lastausgleich und wird in den Cluster integriert, um Hochverfügbarkeit zu gewährleisten. Es wird jeweils nur einem Knoten des Clusters eine solche virtuelle IP-Adresse zugewiesen, nämlich dem aktuellen Master-Knoten (oder aktiven Knoten). Die virtuelle IP-Adresse ist über die öffentliche IP-Adresse 52.170.117.153 erreichbar , über die Benutzer eine Verbindung zum veröffentlichten virtuellen Dienst herstellen.
Die Backend-Systeme, auf denen die eigentliche Anwendung ausgeführt wird, sind als Cloud-VMs im privaten Netzwerk 10.0.1.0/24 eingerichtet . Dadurch sind die eigentlichen Server nicht mit dem Internet verbunden.
Implementieren Sie Cloud Load Balancer Clustering in Azure #
Um die abgebildete Architektur einzurichten, werden wir zwei Instanzen des RELIANOID Load Balancer, erreichbar über die Azurblauer Marktplatz. Navigieren Sie einfach zur Homepage des Azure-Portals und wählen Sie Erstellen einer Ressourceund suchen Sie nach dem RELIANOID Lastenausgleicher Produkt.
Sie können jeden VM-Parameter für die Load Balancer-Knoten ähnlich wie für jede andere virtuelle Maschine anpassen. Hier sind die wichtigsten Überlegungen:
Größe: Für unsere Bedürfnisse, B1ls ist ausreichend.
Netzwerkschnittstelle: Für jede Load Balancer-Maschine wird eine zugehörige Netzwerkschnittstelle erstellt. Richten Sie im Formular zur Balancer-Erstellung die öffentliche IP-Adresse, das private Netzwerk und die Sicherheitsgruppe ein. Denken Sie daran, dass die öffentliche IP-Adresse für den Zugriff auf die grafische Benutzeroberfläche (GUI) unerlässlich ist. Stellen Sie sicher, dass das ausgewählte virtuelle Netzwerk mit dem Netzwerk übereinstimmt, in dem sich die anderen Balancer und Backends befinden, da jedes virtuelle Netzwerk von den anderen isoliert ist.
Verwaltete Identität: Die IT muss eine systemseitig zugewiesene verwaltete Identität. In dem Verwaltung Abschnitt aktivieren Sie die Identitätsschutz Option. Dafür benötigt Ihr Konto die Mitwirkender virtueller Maschinen Rollenzuweisung. Weitere Informationen zu diesem Abschnitt finden Sie im Konfigurieren verwalteter Identitäten für Azure.
Nach dem Einsatz der RELIANOID Load Balancer-VMs, bei denen die Instanzstatus Sie zeigen gerade Laufen -Modus sind einige Konfigurationen für die Zugänglichkeit und das Clustering erforderlich:
1. Sicherheitsgruppen: RELIANOID verwendet das TCP-Port 444 für HTTPS Web-GUI-Verwaltungszwecke und die TCP-Port 22 in SSH für Befehlszeilenverwaltung und Clustering-Dienste. Darüber hinaus Virtueller Port Die im Load Balancer verwendeten virtuellen Dienste müssen in Ihre Sicherheitsgruppe aufgenommen werden. In diesem Fall müssen wir die eingehende Regel so konfigurieren, dass eingehender Datenverkehr bei TCP-Port 80 um Zugriff auf unsere Backend-HTTP-Dienste zu erhalten. Diese Netzwerkkonfigurationen können in einem Netzwerksicherheitsgruppe.
2. Verwalteter Identitätszugriff: Für das Clustering ist es erforderlich, den Zugriff auf die Ressourcen über Azure RBAC zu gewähren. Navigieren Sie zur gewünschten Ressource und wählen Sie Zugriffskontrolle (IAM) Dann wählen Sie Hinzufügen > Rollenzuweisung hinzufügenWählen Sie in diesem Abschnitt die Mitwirkender virtueller Maschinen Rolle in der Rolle > Privilegierte Administratorrollen. Im nächsten Tab Mitglieder wählen Zuweisen des Zugriffs zur verwalteten Identität und klicken Sie auf + Mitglieder auswählen. Wählen Sie abschließend die aus Abonnement, Virtuelle Maschine as Systemseitig zugewiesene verwaltete Identität und wählen Sie beide Load Balancer-VMs aus. Klicken Sie auf Auswählen und dann Weiter und schlussendlich Überprüfen + zuweisen.
3. Netzwerk Schnittstellen: Suchen Sie nach den Netzwerkschnittstellen, die für beide VMs erstellt wurden, und klicken Sie auf IP-Konfigurationen Sektion. In dem Master Knoten (LB1) benötigen wir zwei verschiedene IP-Adressen: A primär private und öffentliche IP und eine oder mehrere Sekundär virtuelle private (und optional öffentliche) IP, die dem Clustering-Dienst zugewiesen ist, der für HA-Lastausgleichszwecke verwendet wird. Im Sklave Knoten (LB2) wird nur der primär wird benötigt, da die RELIANOID Clustering-Dienst wird die Sekundär im aktiven Knoten (Knoten mit aktueller Master-Rolle).
Nach der Konfiguration der IP-Adressen sind die virtuellen Load Balancer wie folgt erreichbar:
LB1 ist erreichbar über https://40.117.239.182:444 Benutzer Wurzel und Passwort die Instanz-ID.
LB1 ist über SSH in IP erreichbar 40.117.239.182, dies wird zum Zeitpunkt der Bereitstellung der virtuellen Maschine konfiguriert.
LB2 ist erreichbar über https://137.135.92.30:444 Benutzer Wurzel und Passwort die Instanz-ID.
LB2 ist über SSH in IP erreichbar 137.135.92.30, dies wird zum Zeitpunkt der Bereitstellung der virtuellen Maschine konfiguriert.
Wenn Sie den Hostnamen ändern möchten, starten Sie die Instanz der virtuellen Maschine vor dem Fortfahren neu, um die Änderungen anzuwenden.
Wenn der Zugriff auf die Web-GUI erfolgreich war, werden Ihnen zwei wichtige Werte angezeigt: der Hostname und der Zertifikatsschlüssel . Beide Informationen sind pro Load Balancer eindeutig und stehen in Zusammenhang mit der Aktivierungslizenz. Verwenden Sie diese Informationen in der folgenden URL wie beschrieben: https://www.relianoid.com/activate-enterprise-edition-cloud-evaluation/.
Sobald das Formular ausgefüllt ist, lädt der Browser das Aktivierungszertifikat herunter. Bitte laden Sie die erhaltene PEM-Aktivierungslizenz über die Web-GUI in jedem Load Balancer hoch. Sobald dies erledigt ist, wird die Web-GUI entsperrt und alle Funktionen sind vollständig aktiviert und betriebsbereit. Führen Sie das gleiche Aktivierungsverfahren in beiden Knoten LB1 und LB2 durch.
Nun können wir die RELIANOID Cluster-Dienst. Rufen Sie die Load Balancer-Web-GUI in LB1 über die zugewiesene öffentliche IP auf. https://40.117.239.182:444, Abschnitt System > Cluster um das folgende Formular auszufüllen:
Cluster konfigurieren:
- Lokale IP: Wählen Sie die IP und NIC von eth0.
- Remote-IP: Geben Sie hier die IP von eth0 im Knoten LB2 ein.
- Remote-Knoten-Passwort und Passwort bestätigen: Geben Sie hier das Root-Passwort für SSH im anderen Knoten ein, standardmäßig die Instanz-ID von LB2.
Klicken Sie auf die Schaltfläche „Generieren “ und warten Sie einige Sekunden. In der Zwischenzeit übernimmt der Knoten, auf dem Sie die Konfiguration ausführen, die Master -Rolle (LB1) und der andere (LB2) die Slave- Rolle.
Erstellen eines Lastenausgleichsdiensts in Azure #
An diesem Punkt, RELIANOID Der Cluster wurde in Azure konfiguriert und ist einsatzbereit. Lassen Sie uns also unseren ersten geclusterten Lastenausgleichsdienst konfigurieren, einen einfachen Netzwerklastenausgleichsdienst für Webanwendungen. Gehen Sie zu LSLB > Farmen > Farm erstellen mit den folgenden Parametern.
Beachten Sie, dass die verwendete virtuelle IP-Adresse 10.0.1.11 die zuvor konfigurierte virtuelle IP-Adresse und eine Ressource des Clusters ist, die vom Master -Knoten aus immer erreichbar ist. Klicken Sie auf „Anwenden“ und fahren Sie mit der Konfiguration des Abschnitts „Dienste“ mit der privaten IP-Adresse des Backends fort.
Verwenden Sie IP-Persistenz mit einem Timeout von 60 Sekunden, um sicherzustellen, dass dieselbe Client-IP über einen bestimmten Zeitraum mit demselben Backend verbunden bleibt. Konfigurieren Sie die erweiterten Integritätsprüfungen mit FarmGuardian . Verwenden Sie `check_tcp` als einfache Integritätsprüfung, um zu überprüfen, ob der TCP-Backend-Port 80 auf jedem Backend geöffnet ist. Fügen Sie anschließend die internen IPs und Ports der Backend-Server hinzu, auf denen die eigentlichen Webdienste ausgeführt werden.
Testen Sie nun die Verbindung zur öffentlichen IP-Adresse http://52.170.117.153/ , die der internen IP-Adresse 10.0.1.11 zugewiesen ist . Die Verbindung wird über den Load Balancer mithilfe von eth0:vp1 geleitet und an eines der verfügbaren Backends weitergeleitet.
Anschließend muss die Master -Rolle im Cluster geändert werden, beispielsweise durch einen Neustart des Knotens mit dieser Rolle. Der andere Knoten übernimmt dann den virtuellen Dienst und verbindet sich erneut mit der öffentlichen IP-Adresse. Die bestehenden und neuen Client-Verbindungen werden zum selben Backend aufgebaut, diesmal jedoch über den neuen Master -Knoten.
Fehlerbehebung: Diesem Host wurde keine Systemidentität zugewiesen #
Wenn Sie die Meldung „ Diesem Host wurde keine Systemidentität zugewiesen. Bitte konfigurieren Sie sie im Azure-Portal “ erhalten, bedeutet dies, dass entweder der Azure-Client waagent , die Azure CLI oder die Systemidentität für den Load Balancer nicht korrekt eingerichtet wurde. Versuchen Sie zur Fehlerbehebung die folgenden Befehle auf dem Load Balancer:
root@noid-ee-01:~# systemctl status walinuxagent
root@noid-ee-01:~# az login --identity
root@noid-ee-01:~# az account show
Wenn waagent und azure-cli nicht auf dem System installiert sind, führen Sie bitte die folgenden Befehle aus:
root@noid-ee-01:~# apt-get install waagent azure-cli
Profitieren Sie von erweitertem Lastenausgleich und Clustering in Azure mit RELIANOID!


