Sie können LBaaS über die Befehlszeilenschnittstelle auf dem aktiven Controller-Knoten konfigurieren.

LBaaS-Listener können HTTP, TCP oder beendetes HTTPS verwenden. Beendete HTTPS-Listener beenden TLS für eingehende Verbindungen. Die TLS-Zertifikate und Schlüssel für diese Listener werden in Barbican gespeichert. Wenn Sie beendete HTTPS-Listener erstellen möchten, wenden Sie sich an Ihren Cloud-Administrator. Er kann Ihnen sagen, ob Sie die Zugriffskontrollliste konfigurieren müssen, um dem barbican-Benutzer Zugriff auf die geheimen Schlüssel für Ihr Projekt zu erteilen.

Voraussetzungen

  • Erstellen Sie ein öffentliches Subnetz und einen Router in Ihrem Netzwerk. Für eine NSX Data Center for vSphere-Bereitstellung muss exclusive als Routertyp verwendet werden.

    Hinweis:

    Sie können den Lastausgleichsdienst in einem Mandantensubnetz erstellen, müssen ihm aber eine dynamische IP-Adresse zuweisen.

  • Konfigurieren Sie mindestens eine Client- und mindestens zwei Serverinstanzen.

Prozedur

  1. Melden Sie sich beim OpenStack Management Server als viouser an.
  2. Melden Sie sich beim Controller-Knoten als viouser an.
  3. Laden Sie die Anmeldedatendatei für Ihr Benutzerkonto.
    source user-credentials.rc
  4. Wenn Sie beendete HTTPS-Listener erstellen möchten und die Zugriffssteuerungsliste konfigurieren müssen, gewähren Sie dem barbican-Benutzer Zugriff auf Ihre Zertifikate, Schlüssel und TLS-Container.
    openstack acl user add -u barbican-uuid object-name

    Führen Sie diesen Befehl einmal für jedes Zertifikat, jeden Schlüssel und Container in Ihrem Projekt durch.

    Sie können den Befehl openstack user list ausführen, um nach der UUID des Barbican-Benutzers zu suchen. Sie können den Befehl openstack secret list ausführen, um nach dem Zertifikat, dem Schlüssel und dem Containernamen zu suchen.

  5. Erstellen Sie einen Lastausgleichsdienst.
    neutron lbaas-loadbalancer-create --name lb-name lb-subnet-id

    Nur Mitglieder des angegebenen Subnetzes können zum LBaaS-Pool hinzugefügt werden.

  6. Erstellen Sie einen Listener für den neuen Lastausgleichsdienst.
    neutron lbaas-listener-create --loadbalancer lb-name --protocol {HTTP | TCP | TERMINATED_HTTPS} --protocol-port port-num --name listener-name [--default-tls-container=tls-container-uuid]

    Wenn Sie TERMINATED_HTTPS als Protokoll angeben, müssen Sie auch die ID des TLS-Containers bereitstellen.

  7. Erstellen Sie einen LBaaS-Pool.
    neutron lbaas-pool-create --lb-algorithm lb-method --listener listener-name --protocol {TCP | HTTP} --name pool-name

    Der Parameter --lb-algorithm akzeptiert die folgenden Werte.

    Argument

    Beschreibung

    LEAST_CONNECTIONS

    Neue Clientanfragen werden an den Server mit den wenigsten Verbindungen gesendet.

    ROUND_ROBIN

    Dabei wird die jedem Server zugeordnete Gewichtung berücksichtigt.

    SOURCE_IP

    Alle Verbindungen, die von derselben Quell-IP-Adresse stammen, werden vom selben Pool-Mitglied verarbeitet.

  8. Fügen Sie dem von Ihnen erstellten LBaaS-Pool mindestens zwei Serverinstanzen hinzu.
    neutron lbaas-member-create --subnet lb-subnet-id --address server1-ip --protocol-port 80 pool-name
    neutron lbaas-member-create --subnet lb-subnet-id --address server2-ip --protocol-port 80 pool-name
  9. Richten Sie die Systemüberwachung ein.
    neutron lbaas-healthmonitor-create --delay delay-seconds --type {HTTP | TCP | PING} --max-retries number --timeout timeout-seconds --pool pool-name

    Parameter

    Beschreibung

    --delay

    Geben Sie die Zeit in Sekunden zwischen dem Senden von Proben an Mitglieder ein.

    --type

    Geben Sie HTTP, TCP oder PING ein.

    --max-retries

    Geben Sie die Anzahl der zulässigen Verbindungsfehler bis zum Ändern des Mitgliedsstatus in INACTIVE ein.

    --timeout

    Geben Sie die Zeit in Sekunden ein, für die während der Überwachung auf eine Verbindungsherstellung gewartet wird, bevor eine Zeitüberschreitung eintritt.

    Der Wert für die Zeitüberschreitung muss größer als der Verzögerungswert sein.

    --pool

    Geben Sie den von Ihnen erstellten LBaaS-Pool an.

  10. Wenn Sie den Lastausgleichsdienst in einem Mandantensubnetz erstellt haben, ordnen Sie dem Lastausgleichsdienst eine dynamische IP-Adresse zu.
  11. (Optional) Senden Sie Testanforderungen, um Ihre LBaaS-Konfiguration zu überprüfen.
    1. Melden Sie sich beim OpenStack Management Server als viouser an.
    2. Erstellen Sie eine index.html-Testdatei.
    3. Starten Sie im selben Verzeichnis einen Webserver.
      sudo python -m SimpleHTTPServer 80
    4. Melden Sie sich bei der Client-Instanz an.
    5. Führen Sie den Befehl wget aus, um anzuzeigen, ob die Last Ihrer Anforderungen ordnungsgemäß auf die Server im Pool verteilt wird.
      • Für einen Lastausgleich ohne TLS führen Sie folgenden Befehl aus:

        wget -O - http://mgmt-server-ip
      • Für einen Lastausgleich mit TLS führen Sie folgenden Befehl aus:

        wget -O - https://mgmt-server-ip