|
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 der Infrastruktur für einen hochverfügbaren SUSE® Rancher Prime: RKE2 Kubernetes-Cluster
Dieses Tutorial soll Ihnen helfen, die zugrunde liegende Infrastruktur für einen Rancher-Management-Server bereitzustellen.
Die empfohlene Infrastruktur für den ausschließlich Rancher-Kubernetes-Cluster variiert, je nachdem, ob Rancher auf einem RKE2-Kubernetes-Cluster, einem RKE-Kubernetes-Cluster oder einem einzelnen Docker-Container installiert wird.
|
Wichtig:
Diese Knoten müssen sich in derselben Region befinden. Sie können diese Server in separaten Verfügbarkeitszonen (Rechenzentren) platzieren. |
Um den Rancher-Management-Server in einem hochverfügbaren RKE2-Cluster zu installieren, empfehlen wir, die folgende Infrastruktur einzurichten:
-
Drei Linux-Knoten, typischerweise virtuelle Maschinen, im Infrastruktur-Anbieter Ihrer Wahl.
-
Ein Load Balancer um den Datenverkehr zu den Knoten zu leiten.
-
Ein DNS-Eintrag, um eine URL dem Load Balancer zuzuordnen. Dies wird die Rancher-Server-URL, und Downstream-Kubernetes-Cluster müssen darauf zugreifen können.
1. Linux-Knoten einrichten
Stellen Sie sicher, dass Ihre Knoten die allgemeinen Installationsanforderungen für Betriebssystem, Container-Laufzeit, Hardware und Netzwerk erfüllen.
Für ein Beispiel, wie man Linux-Knoten einrichtet, beziehen Sie sich auf dieses Tutorial zur Einrichtung von Knoten als Instanzen in Amazon EC2.
2. Richten Sie den Lastausgleich ein
Sie müssen auch einen Load Balancer einrichten, um den Datenverkehr an die Rancher-Replik auf allen Knoten zu leiten. Das wird verhindern, dass ein Ausfall eines einzelnen Knotens die Kommunikation mit dem Rancher-Managementserver unterbricht.
|
Ingress-NGINX EOL: Der Community- |
Wenn Kubernetes in einem späteren Schritt eingerichtet wird, wird das RKE2-Tool einen Nginx Ingress-Controller bereitstellen. Dieser Controller wird an den Ports 80 und 443 der Arbeitsknoten überwachen und den Datenverkehr beantworten, der für bestimmte Hostnamen bestimmt ist.
Wenn Rancher installiert ist (auch in einem späteren Schritt), erstellt das Rancher-System eine Ingress-Ressource. Dieses Ingress weist den Nginx Ingress-Controller an, den Datenverkehr zu überwachen, der für den Rancher-Hostnamen bestimmt ist. Der Nginx Ingress-Controller wird, wenn er Datenverkehr für den Rancher-Hostnamen erhält, diesen Datenverkehr an die laufenden Rancher-Pods im Cluster weiterleiten.
Für Ihre Implementierung sollten Sie überlegen, ob Sie einen Layer-4- oder Layer-7-Load Balancer verwenden möchten oder müssen:
-
Ein Layer-4-Lastausgleich ist die einfachere der beiden Optionen, bei der Sie TCP-Datenverkehr an Ihre Knoten weiterleiten. Wir empfehlen, Ihren Layer-4-Lastausgleich so zu konfigurieren, dass er den Datenverkehr an die Ports TCP/80 und TCP/443 der Rancher-Management-Clusterknoten weiterleitet. Der Ingress-Controller im Cluster wird den HTTP-Datenverkehr auf HTTPS umleiten und SSL/TLS an Port TCP/443 terminieren. Der Ingress-Controller wird den Datenverkehr an Port TCP/80 an das Ingress-Pod in der Rancher-Implementierung weiterleiten.
-
Ein Layer-7-Lastausgleich ist etwas komplizierter, kann jedoch Funktionen bieten, die Sie möglicherweise wünschen. Ein Layer-7-Lastausgleich kann beispielsweise die TLS-Terminierung am Lastausgleich übernehmen, anstatt dass Rancher die TLS-Terminierung selbst vornimmt. Dies kann vorteilhaft sein, wenn Sie Ihre TLS-Beendigung in Ihrer Infrastruktur zentralisieren möchten. Layer-7-Load Balancing bietet auch die Möglichkeit, dass Ihr Load Balancer Entscheidungen basierend auf HTTP-Attributen wie Cookies usw. trifft, mit denen sich ein Layer-4-Load Balancer nicht befassen kann. Wenn Sie sich entscheiden, den SSL/TLS-Datenverkehr an einem Layer-7-Lastausgleich zu terminieren, müssen Sie die
--set tls=externalOption verwenden, wenn Sie Rancher in einem späteren Schritt installieren. Für weitere Informationen siehe die Rancher Helm-Chart-Optionen.
Für ein Beispiel, wie man einen NGINX-Lastausgleich einrichtet, siehe diese Seite.
Für eine Anleitung zur Einrichtung eines Amazon ELB Network-Lastausgleichs, verweisen Sie auf diese Seite.
|
Verwenden Sie diesen Lastausgleich (d.h. den |
3. DNS-Eintrag einrichten
Nachdem Sie Ihren Load Balancer eingerichtet haben, müssen Sie einen DNS-Eintrag erstellen, um den Datenverkehr an diesen Load Balancer zu senden.
Je nach Ihrer Umgebung kann dies ein A-Eintrag sein, der auf die IP des Load Balancers zeigt, oder es kann ein CNAME sein, der auf den Hostnamen des Load Balancers zeigt. In jedem Fall stellen Sie sicher, dass dieser Eintrag der Hostname ist, auf den Rancher reagieren soll.
Sie müssen diesen Hostnamen in einem späteren Schritt angeben, wenn Sie Rancher installieren, und es ist nicht möglich, ihn später zu ändern. Stellen Sie sicher, dass Ihre Entscheidung endgültig ist.
Für eine Anleitung zur Einrichtung eines DNS-Eintrags, um den Domain-Traffic an einen Amazon ELB-Lastausgleich weiterzuleiten, siehe die offizielle AWS-Dokumentation.