Hilf mit, diese Seite 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.
Wenn Sie zu diesem Benutzerhandbuch beitragen möchten, wählen Sie den GitHub Link Diese Seite bearbeiten auf, der sich im rechten Bereich jeder Seite befindet.
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.
Erstellen Sie einen IngressClass , um einen Application Load Balancer zu konfigurieren
Der automatische Modus von EKS automatisiert Routineaufgaben für den Lastenausgleich, einschließlich der Bereitstellung von Cluster-Apps im Internet.
AWS schlägt vor, Application Load Balancers (ALB) zur Bereitstellung von HTTP- und HTTPS-Verkehr zu verwenden. Application Load Balancers können Anfragen basierend auf dem Inhalt der Anfrage weiterleiten. Weitere Informationen zu Application Load Balancers finden Sie unter Was ist Elastic Load Balancing?
Der automatische EKS-Modus erstellt und konfiguriert Application Load Balancers (). ALBs Beispielsweise erstellt der automatische Modus von EKS einen Load Balancer, wenn Sie ein Ingress
Kubernetes-Objekt erstellen, und konfiguriert ihn so, dass der Datenverkehr an Ihren Cluster-Workload weitergeleitet wird.
Übersicht
-
Erstellen Sie eine
IngressClassParams
Ressource und geben Sie AWS bestimmte Konfigurationswerte an, z. B. das Zertifikat, das für SSL/TLS- und VPC-Subnetze verwendet werden soll. -
Erstellen Sie eine
IngressClass
Ressource und geben Sie an, dass EKS Auto Mode der Controller für die Ressource sein soll. -
Erstellen Sie eine
Ingress
Ressource, die einem Cluster-Workload einen HTTP-Pfad und -Port zuordnet. -
Der automatische Modus von EKS erstellt einen Application Load Balancer, der auf die in der Ressource angegebene Arbeitslast verweist, wobei die in der
Ingress
Ressource angegebene Load Balancer-Konfiguration verwendet wird.IngressClassParams
Voraussetzungen
-
Der automatische EKS-Modus ist auf einem Amazon EKS-Cluster aktiviert
-
Kubectl ist für die Verbindung mit Ihrem Cluster konfiguriert
-
Sie können
kubectl apply -f <filename>
die folgenden YAML-Beispielkonfigurationsdateien auf Ihren Cluster anwenden.
-
Anmerkung
Der automatische EKS-Modus benötigt Subnetz-Tags, um öffentliche und private Subnetze zu identifizieren.
Wenn Sie Ihren Cluster mit erstellt habeneksctl
, verfügen Sie bereits über diese Tags.
Weitere Informationen erhalten Sie unter Tag-Subnetze für EKS Auto Mode.
Schritt 1: Erstellen IngressClassParams
Erstellen Sie ein IngressClassParams
Objekt, um AWS spezifische Konfigurationsoptionen für den Application Load Balancer anzugeben. Verwenden Sie die nachstehende Referenz, um die YAML-Beispieldatei zu aktualisieren.
Notieren Sie sich den Namen, den Sie für die IngressClassParams
Ressource festgelegt haben. Sie benötigen ihn im nächsten Schritt.
apiVersion: eks.amazonaws.com/v1 kind: IngressClassParams metadata: name: alb spec: scheme: internet-facing
Schritt 2: Erstellen IngressClass
Erstellen Sie eineIngressClass
, die auf die AWS spezifischen Konfigurationswerte verweist, die in der IngressClassParams
Ressource festgelegt sind. Notieren Sie sich den Namen derIngressClass
. In diesem Beispiel IngressClassParams
sind IngressClass
sowohl die als auch benanntalb
.
Verwenden Sie die is-default-class
Anmerkung, um zu steuern, ob Ingress
Ressourcen diese Klasse standardmäßig verwenden sollen.
apiVersion: networking.k8s.io/v1 kind: IngressClass metadata: name: alb annotations: # Use this annotation to set an IngressClass as Default # If an Ingress doesn't specify a class, it will use the Default ingressclass.kubernetes.io/is-default-class: "true" spec: # Configures the IngressClass to use EKS Auto Mode controller: eks.amazonaws.com/alb parameters: apiGroup: eks.amazonaws.com kind: IngressClassParams # Use the name of the IngressClassParams set in the previous step name: alb
Weitere Informationen zu Konfigurationsoptionen finden Sie unterIngressClassParams Referenz.
Schritt 3: Ingress erstellen
Erstellen Sie eine Ingress
Ressource. Der Zweck dieser Ressource besteht darin, Pfade und Ports auf dem Application Load Balancer mit Workloads in Ihrem Cluster zu verknüpfen.
Weitere Informationen zur Konfiguration dieser Ressource finden Sie unter Ingress
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: 2048-ingress spec: # this matches the name of IngressClass. # this can be omitted if you have a default ingressClass in cluster: the one with ingressclass.kubernetes.io/is-default-class: "true" annotation ingressClassName: alb rules: - http: paths: - path: /* pathType: ImplementationSpecific backend: service: name: <your-service> port: number: 80
Schritt 4: Status überprüfen
Verwenden Siekubectl
, um den Status von zu ermittelnIngress
. Es kann einige Minuten dauern, bis der Load Balancer verfügbar ist.
Verwenden Sie den Namen der Ingress
Ressource, den Sie im vorherigen Schritt festgelegt haben.
kubectl get ingress <ingress-name>
Sobald die Ressource bereit ist, rufen Sie den Domainnamen des Load Balancers ab.
kubectl get ingress api-ingress -o jsonpath='{.status.loadBalancer.ingress[0].hostname}'
Um den Dienst in einem Webbrowser anzuzeigen, überprüfen Sie den Port und den Pfad, die im Ingress
Rescue angegeben wurden.
Schritt 5: Bereinigen
Verwenden Sie den folgenden Befehl, um den Load Balancer zu bereinigen:
kubectl delete ingress <ingress-name>
Der automatische Modus von EKS löscht automatisch den zugehörigen Load Balancer in Ihrem AWS Konto.
IngressClassParams Referenz
Die folgende Tabelle ist eine Kurzreferenz für häufig verwendete Konfigurationsoptionen.
Feld | Beschreibung | Beispielwert |
---|---|---|
|
Definiert, ob das ALB intern oder mit dem Internet verbunden ist |
|
|
Schränkt ein, welche Namespaces dies verwenden können IngressClass |
|
|
Gruppiert mehrere Ingresses, sodass sie sich ein einziges ALB teilen |
|
|
Legt den IP-Adresstyp für den ALB fest |
|
|
Liste der Subnetze IDs für die ALB-Bereitstellung |
|
|
Tag-Filter zur Auswahl von Subnetzen für ALB |
|
|
ARNs der zu verwendenden SSL-Zertifikate |
|
|
Benutzerdefinierte Tags für AWS Ressourcen |
|
|
Load Balancer-spezifische Attribute |
|
Überlegungen
-
Sie können Anmerkungen nicht für eine verwenden, IngressClass um Load Balancer mit dem automatischen EKS-Modus zu konfigurieren.
-
Sie müssen die Cluster-IAM-Rolle aktualisieren, um die Tag-Weitergabe von Kubernetes an AWS Load Balancer-Ressourcen zu ermöglichen. Weitere Informationen finden Sie unter Benutzerdefinierte Tags für EKS Auto-Ressourcen AWS.
-
Informationen zum Zuordnen von Ressourcen zum automatischen Modus von EKS oder zum selbstverwalteten Load AWS Balancer Controller finden Sie unter. Referenz zur Migration
-
Informationen zur Behebung von Problemen mit Load Balancers finden Sie unter. Problembehandlung im EKS-Automatikmodus
-
Weitere Hinweise zur Verwendung der Lastenausgleichsfunktion von EKS Auto Mode finden Sie unterLoad Balancing.
Die folgenden Tabellen bieten einen detaillierten Vergleich der Änderungen IngressClassParams, der Ingress-Anmerkungen und der TargetGroupBinding Konfigurationen für den automatischen EKS-Modus. In diesen Tabellen werden die wichtigsten Unterschiede zwischen der Lastenausgleichsfunktion von EKS Auto Mode und dem Open-Source-Load Balancer-Controller hervorgehoben, einschließlich API-Versionsänderungen, veralteter Funktionen und aktualisierter Parameternamen.
IngressClassParams
Zurück | Neu | Beschreibung |
---|---|---|
|
|
Änderung der API-Version |
|
|
Support für mehrere Zertifikate ARNs |
|
|
Das Subnetz-Abgleichschema wurde geändert |
|
|
Vereinfachte Attributbenennung |
Eingangs-Anmerkungen
Bisherige | Neu | Beschreibung |
---|---|---|
|
Nicht unterstützt |
Für |
|
Nicht unterstützt |
Geben Sie Gruppen nur in an IngressClass |
|
Nicht unterstützt |
Verwenden Sie stattdessen WAF v2 |
|
Nicht unterstützt |
Verwenden Sie stattdessen WAF v2 |
|
Nicht unterstützt |
Shield-Integration deaktiviert |
TargetGroupBinding
Bisherige | Neu | Beschreibung |
---|---|---|
|
|
Änderung der API-Version |
|
|
Explizite Angabe des Zieltyps |
|
Nicht unterstützt |
Unterstützt NLB ohne Sicherheitsgruppen nicht mehr |