|
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. |
1. Infrastruktur einrichten
In diesem Abschnitt werden Sie die zugrunde liegende Infrastruktur für Ihren Rancher-Management-Server mit Internetzugang über einen HTTP-Proxy bereitstellen.
Um den Rancher-Management-Server in einem hochverfügbaren RKE2/K3s-Cluster zu installieren, empfehlen wir, die folgende Infrastruktur einzurichten:
-
Drei Linux-Knoten, typischerweise virtuelle Maschinen, in einem Infrastruktur-Anbieter wie Amazons EC2, Google Compute Engine oder vSphere.
-
Ein Load Balancer, um den Frontend-Datenverkehr zu den drei Knoten zu leiten.
-
Ein DNS-Eintrag, um eine URL dem Load Balancer zuzuordnen. Dies wird die Rancher-Server-URL, und nachgelagerte Kubernetes-Cluster müssen darauf zugreifen können.
Diese Knoten müssen sich in derselben Region/dem selben Rechenzentrum befinden. Sie können diese Server in separaten Verfügbarkeitszonen platzieren.
Warum drei Knoten?
In einem RKE2/K3s-Cluster werden die Rancher-Serverdaten auf etcd gespeichert. Diese etcd-Datenbank läuft auf allen drei Knoten.
Die etcd-Datenbank benötigt eine ungerade Anzahl von Knoten, damit sie immer einen Führer mit einer Mehrheit des etcd-Clusters wählen kann. Wenn die etcd-Datenbank keinen Führer wählen kann, kann etcd unter Split Brain leiden, was eine Wiederherstellung des Clusters aus einer Sicherung erforderlich macht. Wenn einer der drei etcd-Knoten ausfällt, können die beiden verbleibenden Knoten einen Führer wählen, da sie die Mehrheit der insgesamt vorhandenen etcd-Knoten haben.
1. Linux-Knoten einrichten
Diese Hosts werden über einen HTTP-Proxy mit dem Internet verbunden.
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, siehe dieses Tutorial zur Einrichtung von Knoten als Instanzen in Amazon EC2.
2. Richten Sie den Load Balancer ein
Sie müssen auch einen Load Balancer einrichten, um den Datenverkehr an die Rancher-Replik auf beiden Knoten zu leiten. Das verhindert, dass ein Ausfall eines einzelnen Knotens die Kommunikation mit dem Rancher-Managementserver unterbricht.
Wenn Kubernetes in einem späteren Schritt eingerichtet wird, wird das RKE2/K3s-Tool einen NGINX Ingress-Controller bereitstellen. Dieser Controller wird auf den Ports 80 und 443 der Arbeitsknoten lauschen und den Datenverkehr für bestimmte Hostnamen beantworten.
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, auf den Datenverkehr zu lauschen, der für den Rancher-Hostnamen bestimmt ist. Der NGINX Ingress-Controller wird, wenn er Datenverkehr für den Rancher-Hostnamen empfängt, 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-Load Balancer ist die einfachere der beiden Optionen, bei der Sie TCP-Datenverkehr an Ihre Knoten weiterleiten. Wir empfehlen, Ihren Load Balancer als Layer-4-Load Balancer zu konfigurieren, der den Datenverkehr an die Ports TCP/80 und TCP/443 der Rancher-Management-Clusterknoten weiterleitet. Der Ingress-Controller im Cluster wird HTTP-Datenverkehr auf HTTPS umleiten und SSL/TLS an Port TCP/443 beenden. Der Ingress-Controller wird den Datenverkehr an Port TCP/80 an das Ingress-Pod in der Rancher-Bereitstellung weiterleiten.
-
Ein Layer-7-Load Balancer ist etwas komplizierter, kann jedoch Funktionen bieten, die Sie möglicherweise wünschen. Ein Layer-7-Lastausgleich kann beispielsweise die TLS-Beendigung am Lastausgleich durchführen, anstatt dass Rancher die TLS-Beendigung selbst vornimmt. Dies kann vorteilhaft sein, wenn Sie Ihre TLS-Beendigung in Ihrer Infrastruktur zentralisieren möchten. Layer-7-Load Balancer 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 beenden, 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-Load Balancer einrichtet, siehe diese Seite.
Für eine Anleitung zur Einrichtung eines Amazon ELB-Load Balancer, siehe diese Seite.
|
Wichtig:
Verwenden Sie diesen Load Balancer (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 LB-IP 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 Load Balancer weiterzuleiten, siehe die offizielle AWS-Dokumentation.