Hilf mit, diese Seite zu verbessern
Möchten Sie zu diesem Benutzerhandbuch beitragen? Scrollen Sie zum Ende dieser Seite und wählen Sie Diese Seite bearbeiten am aus GitHub. Ihre Beiträge werden dazu beitragen, unser Benutzerhandbuch für alle zu verbessern.
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Internetverkehr mit AWS Load Balancer Controller weiterleiten
Das Tool AWS Load Balancer Controller verwaltet AWS Elastic Load Balancers für ein Kubernetes Cluster. Sie können den Controller verwenden, um Ihre Cluster-Apps dem Internet zugänglich zu machen. Der Controller stellt AWS Load Balancer bereit, die auf Clusterdienst- oder Ingress-Ressourcen verweisen. Mit anderen Worten, der Controller erstellt eine einzelne IP-Adresse oder einen DNS Namen, der auf mehrere Pods in Ihrem Cluster verweist.
Der Controller achtet auf Kubernetes Ingress or Service Ressourcen schätzen. Als Reaktion darauf erstellt es die entsprechenden AWS Elastic Load Balancing Balancing-Ressourcen. Sie können das spezifische Verhalten der Load Balancer konfigurieren, indem Sie Anmerkungen auf die Kubernetes Ressourcen schätzen. Beispielsweise können Sie mithilfe von Anmerkungen AWS Sicherheitsgruppen an Load Balancer anhängen.
Der Controller stellt die folgenden Ressourcen bereit:
- Kubernetes
Ingress
-
Der LBC erstellt einen AWS Application Load Balancer (ALB), wenn Sie einen erstellen Kubernetes
Ingress
. Prüfen Sie die Anmerkungen, die Sie auf eine Ingress-Ressource anwenden können. - Kubernetes Dienst des Typs
LoadBalancer
-
Der LBC erstellt einen AWS Network Load Balancer (NLB), wenn Sie einen erstellen Kubernetes Dienst des Typs
LoadBalancer
. Prüfen Sie die Anmerkungen, die Sie auf eine Serviceressource anwenden können.In der Vergangenheit Kubernetes Der Network Load Balancer wurde für Instanzziele verwendet, der LBC wurde jedoch für IP-Ziele verwendet. Mit dem AWS Load Balancer Controller Version
2.3.0
oder höher können Sie NLBs mit einem der beiden Zieltypen erstellen. Weitere Informationen zu NLB Zieltypen finden Sie unter Zieltyp im Benutzerhandbuch für Network Load Balancers.
Der Controller ist ein Open-Source-Projekt
Bevor Sie den Controller bereitstellen, empfehlen wir Ihnen, die Voraussetzungen und Überlegungen in Routenanwendung und HTTP Verkehr mit Application Load Balancers und Route TCP and UDP Verkehr mit Network Load Balancers zu überprüfen. In diesen Themen stellen Sie eine Beispiel-App bereit, die einen AWS Load Balancer enthält.
Installieren Sie den Controller
Sie können eines der folgenden Verfahren verwenden, um das zu installieren AWS Load Balancer Controller:
-
Wenn Sie neu bei Amazon sind, empfehlen EKS wir Ihnen, Helm für die Installation zu verwenden, da dies die AWS Load Balancer Controller Installation. Weitere Informationen finden Sie unter Installieren AWS Load Balancer Controller mit Helm.
-
Verwenden Sie für erweiterte Konfigurationen, wie z. B. Cluster mit eingeschränktem Netzwerkzugriff auf öffentliche Container-Registries Kubernetes Manifeste. Weitere Informationen finden Sie unter Installieren AWS Load Balancer Controller mit Manifesten.
Migrieren Sie von veralteten Controller-Versionen
-
Wenn Sie veraltete Versionen von haben AWS Load Balancer Controller installiert, erfahren Sie, wie es geht. Apps von veralteten Apps migrieren AWSIngress Controller
-
Veraltete Versionen können nicht aktualisiert werden. Sie müssen entfernt werden und es muss sich um eine aktuelle Version der handeln AWS Load Balancer Controller installiert.
-
Zu den veralteten Versionen gehören:
-
AWS ALBIngress Controller für Kubernetes („Ingress Controller“), ein Vorgänger des AWS Load Balancer Controller.
-
Jede
0.1.x
Version des AWS Load Balancer Controller
-
Legacy-Cloud-Anbieter
Kubernetes beinhaltet einen Legacy-Cloud-Anbieter für AWS. Der ältere Cloud-Anbieter ist in der Lage, AWS Load Balancer bereitzustellen, ähnlich wie AWS Load Balancer Controller. Der ältere Cloud-Anbieter erstellt Classic Load Balancer. Wenn Sie das nicht installieren AWS Load Balancer Controller, Kubernetes verwendet standardmäßig den alten Cloud-Anbieter. Sie sollten das installieren AWS Load Balancer Controller und vermeiden Sie es, den alten Cloud-Anbieter zu verwenden.
Wichtig
In den Versionen 2.5 und neuer ist der AWS Load Balancer Controller wird zum Standardcontroller für Kubernetes bedient Ressourcen mit dem type: LoadBalancer
und erstellt für jeden Dienst einen AWS Network Load Balancer (NLB). Dies geschieht durch einen mutierenden Webhook für Services, der das Feld spec.loadBalancerClass
auf service.k8s.aws/nlb
für neue Services von type:
LoadBalancer
setzt. Sie können dieses Feature deaktivieren und wieder den alten Cloud ProviderenableServiceMutatorWebhook
auf false
setzen. Der Cluster stellt keine neuen Classic Load Balancer für Ihre Services bereit, es sei denn, Sie schalten dieses Feature aus. Bestehende Classic Load Balancer werden weiterhin funktionieren.