Unterstützung für die Verbesserung dieser Seite beitragen
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.
Um zu diesem Benutzerhandbuch beizutragen, 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.
Verwendung von Service-Annotationen zur Konfiguration von Network Load Balancers
Erfahren Sie, wie Sie Network Load Balancers (NLB) in Amazon EKS mithilfe von Kubernetes-Service-Annotationen konfigurieren. In diesem Thema werden die Anmerkungen erläutert, die vom automatischen Modus von EKS für die Anpassung des NLB-Verhaltens unterstützt werden, einschließlich Internetzugriff, Integritätsprüfungen, SSL/TLS Kündigung und IP-Targeting-Modi.
Wenn Sie einen Kubernetes-Dienst vom Typ LoadBalancer im EKS-Automodus erstellen, stellt EKS automatisch einen AWS Network Load Balancer bereit und konfiguriert ihn auf der Grundlage der von Ihnen angegebenen Anmerkungen. Dieser deklarative Ansatz ermöglicht es Ihnen, Load-Balancer-Konfigurationen direkt über Ihre Kubernetes-Manifeste zu verwalten und so die Infrastruktur als Code zu verwalten.
Der automatische Modus von EKS übernimmt standardmäßig die Bereitstellung von Network Load Balancer für alle Dienste dieses Typs LoadBalancer — es ist keine zusätzliche Controller-Installation oder -Konfiguration erforderlich. Die loadBalancerClass: eks.amazonaws.com/nlb-Spezifikation wird automatisch als Cluster-Standard festgelegt, wodurch der Bereitstellungsprozess optimiert und gleichzeitig die Kompatibilität mit vorhandenen Kubernetes-Workloads gewährleistet wird.
Anmerkung
EKS Auto Mode erfordert Subnetz-Tags zur Identifizierung öffentlicher und privater Subnetze.
Wenn Sie Ihren Cluster mit eksctl erstellt haben, verfügen Sie bereits über diese Tags.
Weitere Informationen erhalten Sie unter Kennzeichnung von Subnetzen für EKS Auto Mode.
Beispiel-Service
Weitere Informationen zur Kubernetes-Service-Ressource finden Sie in der Kubernetes-Dokumentation
Überprüfen Sie die unten stehende Service-Beispiel-Ressource:
apiVersion: v1 kind: Service metadata: name: echoserver annotations: # Specify the load balancer scheme as internet-facing to create a public-facing Network Load Balancer (NLB) service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing spec: selector: app: echoserver ports: - port: 80 targetPort: 8080 protocol: TCP type: LoadBalancer # Specify the new load balancer class for NLB as part of EKS Auto Mode feature # For clusters with Auto Mode enabled, this field can be omitted as it's the default loadBalancerClass: eks.amazonaws.com/nlb
Häufig verwendete Annotationen
Die folgende Tabelle listet häufig verwendete Annotationen auf, die von EKS Auto Mode unterstützt werden. Beachten Sie, dass EKS Auto Mode möglicherweise nicht alle Annotationen unterstützt.
Tipp
Alle folgenden Annotationen müssen mit service.beta.kubernetes.io/ vorangestellt werden
| Feld | Description | Beispiel |
|---|---|---|
|
|
Gibt den Typ des Load Balancers an. Verwenden Sie |
|
|
|
Gibt an, ob der Datenverkehr an Knoteninstanzen oder direkt an den Pod weitergeleitet werden soll. IPs Verwenden Sie |
|
|
|
Steuert, ob der Load Balancer intern oder mit dem Internet verbunden ist. |
|
|
|
Protokoll für die Zustandsprüfung der Zielgruppe. Gängige Optionen sind |
|
|
|
Der HTTP-Pfad für Integritätsprüfungen bei Verwendung HTTP/HTTPS des Protokolls. |
|
|
|
Der für Zustandsprüfungen verwendete Port. Dies kann eine bestimmte Portnummer oder |
|
|
|
Gibt an, in welchen Subnetzen der Load Balancer erstellt werden soll. Kann Subnetz IDs oder Namen verwenden. |
|
|
|
ARN des SSL-Zertifikats von AWS Certificate Manager für HTTPS/TLS. |
|
|
|
Legt fest, welche Ports SSL/TLS verwenden sollen. |
|
|
|
Für den Zugriff auf den Load Balancer zulässige CIDR-Bereiche. |
|
|
|
Zusätzliche AWS Tags, die auf den Load Balancer und verwandte Ressourcen angewendet werden sollen. |
|
|
|
Gibt an, ob der Load Balancer Dual-Stack (IPv4 +) verwendet IPv4 . IPv6 |
|
Überlegungen
-
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 AWS Tags für EKS Auto-Ressourcen.
-
Informationen zum Zuordnen von Ressourcen zum automatischen Modus von EKS oder zum selbstverwalteten Load AWS Balancer Controller finden Sie unter. Migrationsreferenz
-
Informationen zum Beheben von Problemen mit Load Balancern finden Sie unter Fehlerbehebung mit EKS Auto Mode.
-
Weitere Überlegungen zur Verwendung der Load-Balancing-Funktion von EKS Auto Mode finden Sie unter Lastausgleich.
Bei der Migration zu EKS Auto Mode für Load Balancing sind mehrere Änderungen an Service-Annotationen und Ressourcen-Konfigurationen erforderlich. Die folgenden Tabellen zeigen die wichtigsten Unterschiede zwischen der bisherigen und der neuen Implementierung, einschließlich nicht unterstützter Optionen und empfohlener Alternativen.
Service-Annotationen
| Vorherige | Neu | Description |
|---|---|---|
|
|
Nicht unterstützt |
|
|
|
Nicht unterstützt |
|
|
|
Nicht unterstützt |
Verwenden von |
|
|
Nicht unterstützt |
Stattdessen |
|
Verschiedene Attribute des Load Balancers |
Nicht unterstützt |
Verwenden von |
|
|
Nicht unterstützt |
Stattdessen |
|
|
Nicht unterstützt |
Stattdessen |
|
|
Nicht unterstützt |
Stattdessen |
|
|
Nicht unterstützt |
Stattdessen |
Um von veralteten Annotation zu Load-Balancer-Attributen zu migrieren, konsolidieren Sie diese Einstellungen in der service.beta.kubernetes.io/aws-load-balancer-attributes-Annotation. Diese Annotation akzeptiert eine durch Kommas getrennte Liste von Schlüssel-Wert-Paaren für verschiedene Load-Balancer-Attribute. Verwenden Sie beispielsweise das folgende Format, um die Zugriffsprotokollierung und den zonenübergreifenden Lastenausgleich zu spezifizieren:
service.beta.kubernetes.io/aws-load-balancer-attributes: access_logs.s3.enabled=true,access_logs.s3.bucket=my-bucket,access_logs.s3.prefix=my-prefix,load_balancing.cross_zone.enabled=true
Dieses konsolidierte Format bietet eine konsistentere und flexiblere Möglichkeit zur Konfiguration von Load Balancer-Attributen und reduziert gleichzeitig die Anzahl der erforderlichen einzelnen Annotationen. Überprüfen Sie Ihre vorhandenen Service-Konfigurationen und aktualisieren Sie sie, um dieses konsolidierte Format zu verwenden.
TargetGroupBinding
| Vorherige | Neu | Description |
|---|---|---|
|
|
|
Änderung der API-Version |
|
|
|
Explizite Angabe des Zieltyps |
|
|
Nicht unterstützt |
NLB ohne Sicherheitsgruppen wird nicht mehr unterstützt |
Hinweis: Um die benutzerdefinierte TargetGroupBinding Funktion verwenden zu können, müssen Sie die Zielgruppe mit dem Tag mit eks:eks-cluster-name dem Clusternamen kennzeichnen, um dem Controller die erforderlichen IAM-Berechtigungen zu gewähren. Beachten Sie, dass der Controller die Zielgruppe löscht, wenn die TargetGroupBinding Ressource oder der Cluster gelöscht wird.