VMware Integrated OpenStack 4.0 unterstützt LBaaS v2.0. Sie aktivieren LBaaS v2.0 standardmäßig nach Abschluss des Installations- oder Upgrade-Prozesses von VMware Integrated OpenStack.
Warum und wann dieser Vorgang ausgeführt wird
Diese Aufgabe beinhaltet das Erstellen einer Systemüberwachung und deren Verknüpfung mit dem LBaaS-Pool, der die LBaaS-Serverinstanzen enthält. Die Systemüberwachung ist ein Neutron-Dienst, der überprüft, ob die Instanzen auf dem angegebenen Protokollport nach wie vor ausgeführt werden.
Voraussetzungen
VMware Integrated OpenStack unterstützt LBaaS v1.0 nicht.
Diese Aufgabe betrifft nur VMware Integrated OpenStack mit bereitgestellter NSX-Komponente.
Prozedur
- Melden Sie sich unter Verwendung von SSH bei VMware Integrated OpenStack Manager an.
- Wechseln Sie zum Root-Benutzer.
sudo su -
- Verwenden Sie in VMware Integrated OpenStack Manager SSH, um sich beim Neutron-Knoten anzumelden.
- Wechseln Sie zum Root-Benutzer.
sudo su -
- Erstellen Sie einen exklusiven Router.
neutron router-create --router_type=exclusive <router name>
- Verbinden Sie ein Subnetz mit dem neuen Router.
neutron net-create <network name> neutron subnet-create <network name> <CIDR value> --name <subnet name> neutron router-interface-add <router name or id> <subnet name or id>
- Erstellen Sie den Lastausgleichsdienst.
Dieser Schritt beinhaltet das Erstellen des Lastausgleichsdiensts, des Listener und des Lastausgleichspools.
- Erstellen Sie den Lastausgleichsdienst und geben Sie dabei das VIP-Subnetz des Lastausgleichsdiensts an.
neutron lbaas-loadbalancer-create --name LOAD_BALANCER_1_NAME <vip-subnet-id>
Parameter
Beschreibung
name
Geben Sie einen Namen für den neuen Lastausgleichsdienst an.
vip-subnet-id
Geben Sie das VIP-Subnetz für den neuen Lastausgleichsdienst an. Nur Mitglieder dieses Subnetzes können zum Pool hinzugefügt werden.
- Erstellen Sie einen Listener für den neuen Lastausgleichsdienst.
neutron lbaas-listener-create \ --loadbalancer LOAD_BALANCER_1_NAME \ --protocol <protocol type> \ --protocol-port <protocol port> --name LISTENER_1_NAME
Parameter
Beschreibung
loadbalancer
Geben Sie den Lastausgleichsdienst an, den Sie im vorherigen Teilschritt erstellt haben.
protocol type
Geben Sie den Protokolltyp für den Listener an.
TCP
HTTP
HTTPS
protocol port
Geben Sie den Protokollport an.
name
Geben Sie einen Namen für den neuen Listener an.
- Erstellen Sie einen LBaaS-Pool.
neutron lbaas-pool-create \ --lb-algorithm <load balancing method> \ --listener LISTENER_1_NAME \ --protocol <protocol type> \ --name LB_POOL_1
Parameter
Beschreibung
lb-algorithm
Geben Sie eine Lastausgleichsmethode an:
IP_HASH
Wählt basierend auf einem Hash der Quell- und Ziel-IP-Adresse eines jeden Pakets einen Server aus.
LEAST_CONN
Verteilt die Client-Anforderungen basierend auf der Anzahl der bereits auf den Servern aktiven Verbindungen an mehrere Server. Neue Verbindungen werden an den Server mit den wenigsten Verbindungen gesendet.
ROUND_ROBIN
Dabei wird die jedem Server zugeordnete Gewichtung berücksichtigt. Dieses Verfahren ist der geeignetste und fairste Algorithmus bei gleichmäßig verteilter Verarbeitungszeit auf dem Server.
URI
Der linke Teil der URI (vor dem Fragezeichen) wird zerlegt und durch die Gesamtgewichtung der laufenden Server geteilt. Das Ergebnis bestimmt, welcher Server die Anforderung empfängt. Damit wird sichergestellt, dass eine Anfrage immer an denselben Server geleitet wird, vorausgesetzt, alle Server bleiben verfügbar.
listener
Geben Sie den Listener an, den Sie im vorherigen Teilschritt erstellt haben.
protocol
Geben Sie an, welches Protokoll die Pool-Mitglieder verwenden sollen.
TCP
HTTP
HTTPS
name
Geben Sie einen Namen für den neuen Pool an.
- Erstellen Sie den Lastausgleichsdienst und geben Sie dabei das VIP-Subnetz des Lastausgleichsdiensts an.
- Erstellen Sie die Instanzen für die Server und den Client.
nova boot --image <image-uuid> --flavor <flavor> <server 1 name> nova boot --image <image-uuid> --flavor <flavor> <server 2 name> nova boot --image <image-uuid> --flavor 1 <client name>
- Fügen Sie die Serverinstanzen zu dem erstellten LBaaS-Pool hinzu.
neutron lbaas-member-create \ --subnet <subnet-id> --address <server 1 IP> \ --protocol-port 80 <pool name> neutron lbaas-member-create \ --subnet <subnet-id> --address <server 2 IP> \ --protocol-port 80 <pool name>
- Richten Sie die Systemüberwachung ein.
neutron lbaas-healthmonitor-create \ --delay DELAY_IN_SECONDS --type [HTTP | TCP] --max-retries NUMBER \ --timeout TIMEOUT_IN_SECONDS --pool LBAAS_POOL
Parameter
Beschreibung
delay
Die Zeit in Sekunden zwischen dem Senden von Proben an Mitglieder.
type
Einer der vordefinierten Systemüberwachungstypen. Geben Sie HTTP oder TCP an.
max-retries
Anzahl der zulässigen Verbindungsfehler, bevor der Mitgliederstatus in INAKTIV geändert wird.
timeout
Maximale Anzahl der Sekunden, die bei der Überwachung für die Verbindungsherstellung gewartet wird, bevor eine Zeitüberschreitung eintritt.
Anmerkung:Der Wert für die Zeitüberschreitung muss größer als der Verzögerungswert sein.
pool
Geben Sie den LBaaS-Pool an, der überwacht werden soll.
- (Optional) Senden Sie Testanforderungen, um Ihre LBaaS-Konfiguration zu überprüfen.
- Erstellen Sie eine index.html-Testdatei.
- Führen Sie in demselben Verzeichnis eine einfache Anforderung aus.
# sudo python -m SimpleHTTPServer 80
- Melden Sie sich bei der Client-Instanz an.
- Führen Sie den Befehl wget aus, um anzuzeigen, ob die Last Ihrer Anforderungen ordnungsgemäß auf die beiden Server im Pool verteilt wird.
# wget -O - http://<vip-ip>