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 unter, 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 EKS-Automatikmodus zur Anpassung des NLB-Verhaltens unterstützt werden, einschließlich der Modi Internetzugriff, Zustandsprüfungen, SSL/TLS Terminierung und IP-Targeting.
Wenn Sie einen Kubernetes-Dienst vom Typ EKS Auto Mode erstellen, LoadBalancer 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.
EKS Auto Mode übernimmt standardmäßig die Network Load Balancer-Bereitstellung 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 Knoten-Instances oder direkt an Pod-IPs weitergeleitet werden soll. 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 des HTTP/HTTPS 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. Es können Subnetz-IDs oder -Namen verwendet werden. |
|
|
|
ARN des SSL-Zertifikats von AWS Certificate Manager für HTTPS/TLS. |
|
|
|
Gibt an, welche Ports verwendet werden sollen SSL/TLS. |
|
|
|
Für den Zugriff auf den Load Balancer zulässige CIDR-Bereiche. |
|
|
|
Zusätzliche AWS Tags, die auf den Load Balancer und die zugehörigen Ressourcen angewendet werden sollen. |
|
|
|
Gibt an, ob der Load Balancer IPv4 oder Dual-Stack (IPv4 + IPv6) verwendet. |
|
|
|
Gibt Listener-Attribute an, die auf den Listener angewendet werden sollen. |
|
Überlegungen
-
Sie müssen die Cluster-IAM-Rolle aktualisieren, um die Tag-Propagierung von Kubernetes auf Load Balancer-Ressourcen zu ermöglichen. AWS Weitere Informationen finden Sie unter Benutzerdefiniert AWS Tags für EKS Auto-Ressourcen.
-
Informationen zum Zuordnen von Ressourcen entweder zu EKS Auto Mode oder zum selbstverwalteten AWS Load 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 anzugeben:
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.