Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar.

Einrichten des Amazon ELB Network Load Balancer

Diese Anleitung beschreibt, wie man einen Netzwerk-Load-Balancer (NLB) im EC2-Dienst von Amazon einrichtet, der den Datenverkehr zu mehreren Instanzen auf EC2 leitet.

Diese Beispiele zeigen, wie der Lastausgleich konfiguriert wird, um den Datenverkehr an drei Rancher-Serverknoten zu leiten. Wenn Rancher auf einem K3s Kubernetes-Cluster installiert ist, sind nur zwei Knoten erforderlich.

Dieses Tutorial behandelt eine mögliche Methode zur Einrichtung Ihres Load-Balancers, nicht die einzige Methode. Andere Arten von Load-Balancern, wie ein Classic Load Balancer oder Application Load Balancer, könnten ebenfalls den Datenverkehr zu den Rancher-Serverknoten leiten.

Rancher unterstützt nur die Verwendung des Amazon NLB, wenn der Datenverkehr im tcp Modus für Port 443 und nicht im tls Modus terminiert wird. Das liegt daran, dass der NLB die richtigen Header in Anfragen nicht einfügt, wenn sie am NLB terminiert werden. Das bedeutet, dass Sie, wenn Sie von Amazon Certificate Manager (ACM) verwaltete Zertifikate verwenden möchten, einen ALB verwenden sollten.

Anforderungen

Diese Anweisungen setzen voraus, dass Sie bereits Linux-Instanzen in EC2 erstellt haben. Der Load-Balancer leitet den Datenverkehr zu diesen Knoten.

1. Zielgruppen erstellen

Beginnen Sie mit der Erstellung von zwei Zielgruppen für das TCP-Protokoll, eine mit TCP-Port 443 und eine für TCP-Port 80 (die eine Umleitung zu TCP-Port 443 bereitstellt). Sie fügen Ihre Linux-Knoten zu diesen Gruppen hinzu.

Ihr erster NLB-Konfigurationsschritt besteht darin, zwei Zielgruppen zu erstellen. Technisch gesehen ist nur Port 443 erforderlich, um auf Rancher zuzugreifen, aber es ist praktisch einen Listener für Port 80 hinzuzufügen, da der Datenverkehr zu Port 80 automatisch auf Port 443 umgeleitet wird.

Der Traefik Ingress sollte den Datenverkehr von Port 80 auf Port 443 umleiten.

  1. Melden Sie sich bei der Amazon AWS-Konsole an, um zu beginnen. Stellen Sie sicher, dass Sie die Region auswählen, in der Ihre EC2-Instanzen (Linux-Knoten) erstellt werden.

  2. Wählen Sie Services und wählen Sie EC2, finden Sie den Abschnitt Load Balancing und öffnen Sie Zielgruppen.

  3. Klicken Sie auf Create target group, um die erste Zielgruppe für TCP-Port 443 zu erstellen.

Für Details zu den Gesundheitsprüfungen des Traefik Ingress verweisen Sie auf diesen Abschnitt.

Zielgruppe (TCP-Port 443)

Konfigurieren Sie die erste Zielgruppe gemäß der Tabelle unten.

Option Einstellung

Name der Zielgruppe

rancher-tcp-443

Zieltyp

instance

Protokoll

TCP

Port

443

VPC

Wählen Sie Ihre VPC

Einstellungen für die Zustandsprüfung:

Option Einstellung

Protokoll

TCP

Port

override,80

Gesunder Schwellenwert

3

Ungesunder Schwellenwert

3

Wartezeit

6 seconds

Intervall

10 seconds

Klicken Sie auf Create target group, um die zweite Zielgruppe für TCP-Port 80 zu erstellen.

Zielgruppe (TCP-Port 80)

Konfigurieren Sie die zweite Zielgruppe gemäß der Tabelle unten.

Option Einstellung

Name der Zielgruppe

rancher-tcp-80

Zieltyp

instance

Protokoll

TCP

Port

80

VPC

Wählen Sie Ihre VPC

Einstellungen für die Zustandsprüfung:

Option Einstellung

Protokoll

TCP

Port

traffic port

Gesunder Schwellenwert

3

Ungesunder Schwellenwert

3

Wartezeit

6 seconds

Intervall

10 seconds

2. Ziele registrieren

Fügen Sie als Nächstes Ihre Linux-Knoten zu beiden Zielgruppen hinzu.

Wählen Sie die Zielgruppe mit dem Namen rancher-tcp-443, klicken Sie auf die Registerkarte Ziele und wählen Sie Bearbeiten.

edit targetgroup 443

Wählen Sie die Instanzen (Linux-Knoten) aus, die Sie hinzufügen möchten, und klicken Sie auf Zu registrierten hinzufügen.


add targets targetgroup 443
Figure 1. Screenshot Ziele zur Zielgruppe TCP-Port 443 hinzufügen

added targets targetgroup 443
Figure 2. Screenshot Ziele zur Zielgruppe TCP-Port 443 hinzugefügt

Wenn die Instanzen hinzugefügt sind, klicken Sie auf Speichern unten rechts auf dem Bildschirm.

Wiederholen Sie diese Schritte und ersetzen Sie rancher-tcp-443 durch rancher-tcp-80. Die gleichen Instanzen müssen als Ziele zu dieser Zielgruppe hinzugefügt werden.

3. Erstellen Sie Ihr NLB

Verwenden Sie den Amazon-Assistenten, um einen Netzwerk-Lastausgleich zu erstellen. Im Rahmen dieses Prozesses fügen Sie die Zielgruppen hinzu, die Sie in 1 erstellt haben. Zielgruppen erstellen.

  1. Navigieren Sie von Ihrem Webbrowser zur Amazon EC2-Konsole.

  2. Wählen Sie im Navigationsbereich Lastausgleich > Load Balancer.

  3. Klicken Sie auf Load Balancer erstellen.

  4. Wählen Sie Netzwerk-Lastausgleich und klicken Sie auf Erstellen. Vervollständigen Sie dann jedes Formular.

Schritt 1: Konfigurieren Sie den Lastausgleich

Füllen Sie die folgenden Felder im Formular aus:

  • Name: rancher

  • Schema: internal oder internet-facing. Das Schema, das Sie für Ihren NLB wählen, hängt von der Konfiguration Ihrer Instanzen und VPC ab. Wenn Ihre Instanzen keine öffentlichen IPs haben oder Sie Rancher nur intern aufrufen, sollten Sie Ihr NLB-Schema auf internal anstelle von internet-facing setzen.

  • Listener: Das Load Balancer-Protokoll sollte TCP sein und der entsprechende Load Balancer-Port sollte auf 443 gesetzt werden.

  • Verfügbarkeitszonen: Wählen Sie Ihr VPC und Verfügbarkeitszonen aus.

2. Schritt: Routing konfigurieren

  1. Wählen Sie aus dem Zielgruppe-Dropdown Bestehende Zielgruppe aus.

  2. Wählen Sie aus dem Namen-Dropdown rancher-tcp-443 aus.

  3. Öffnen Sie Erweiterte Einstellungen zur Gesundheitsüberprüfung und konfigurieren Sie Intervall auf 10 seconds.

Schritt 3: Ziele registrieren

Da Sie Ihre Ziele zuvor registriert haben, müssen Sie nur auf Nächster: klicken. Überprüfen.

4. Schritt: Rückblick

Überprüfen Sie die Details des Load Balancers und klicken Sie auf Erstellen, wenn Sie zufrieden sind.

Nachdem AWS das NLB erstellt hat, klicken Sie auf Schließen.

4. Listener zum NLB für TCP-Port 80 hinzufügen

  1. Wählen Sie Ihr neu erstelltes NLB aus und wählen Sie die Registerkarte Listener aus.

  2. Klicken Sie auf Listener hinzufügen.

  3. Verwenden Sie TCP:80 als Protokoll : Port

  4. Klicken Sie auf Aktion hinzufügen und wählen Sie Weiterleiten zu.. aus.

  5. Wählen Sie aus dem Weiterleiten zu-Dropdown rancher-tcp-80 aus.

  6. Klicken Sie oben rechts auf dem Bildschirm auf Speichern.

Gesundheitsprüfpfade für Traefik Ingresses

K3s Kubernetes-Cluster verwenden Traefik als den Standard-Ingress.

Der Gesundheitsprüfpfad ist /ping. Standardmäßig wird /ping immer abgeglichen (unabhängig vom Host), und eine Antwort von Traefik selbst wird immer bereitgestellt.

Um eine genaue Gesundheitsprüfung zu simulieren, ist es eine bewährte Praxis, den Host-Header (Rancher-Hostname) in Kombination mit /ping oder /healthz zu verwenden, wo immer dies möglich ist, um eine Antwort von den Rancher-Pods und nicht vom Ingress zu erhalten.