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.
Vereinfachen Sie die Rechenverwaltung mit AWS Fargate
Wichtig
AWS Fargate mit Amazon EKS ist in AWS GovCloud (USA-Ost) und AWS GovCloud (US-West) nicht verfügbar.
In diesem Thema wird die Verwendung von Amazon EKS Kubernetes Pods zum Ausführen beschrieben AWS Fargate. Fargate ist eine Technologie, die bedarfsgerechte On-Demand-Rechenkapazität für Container
Sie können steuern, welche Pods auf Fargate starten und wie sie mit Fargate-Profilen ausgeführt werden. Fargate-Profile sind als Teil Ihres EKS Amazon-Clusters definiert. Amazon EKS integriert sich in Kubernetes Fargate mithilfe von Controllern, die AWS mithilfe des erweiterbaren Upstream-Modells von erstellt wurden. Kubernetes Diese Controller werden als Teil der von Amazon EKS verwalteten Kubernetes Kontrollebene ausgeführt und sind für die systemeigene Planung Kubernetes Pods auf Fargate verantwortlich. Die Fargate-Controller enthalten einen neuen Scheduler, der neben dem Standard-Kubernetes-Scheduler und zusätzlich zu mehreren mutierenden und validierenden Zugangscontrollern ausgeführt wird. Wenn Sie einen Pod starten, der die Kriterien für die Ausführung in Fargate erfüllt, erkennen die Fargate-Controller, die im Cluster ausgeführt werden den Pod, und aktualisieren und planen ihn in Fargate.
In diesem Thema werden die verschiedenen Komponenten beschriebenPods, die auf Fargate ausgeführt werden, und es werden besondere Überlegungen zur Verwendung von Fargate mit Amazon beschrieben. EKS
AWS Fargate Überlegungen
Hier sind einige Dinge, die Sie bei der Verwendung von Fargate bei Amazon EKS beachten sollten.
-
Jeder Pod, der auf Fargate ausgeführt wird, hat seine eigene Isolationsgrenze. Sie teilen sich den zugrunde liegenden Kernel, die CPU Ressourcen, Speicherressourcen oder die elastic network interface nicht mit anderenPod.
-
Network Load Balancers und Application Load Balancers (ALBs) können mit Fargate nur mit IP-Zielen verwendet werden. Weitere Informationen erhalten Sie unter Erstellen eines Network Load Balancers und Routenanwendung und HTTP Verkehr mit Application Load Balancers.
-
Fargate-exponierte Services werden nur im IP-Modus des Zieltyps und nicht im Knoten-IP-Modus ausgeführt. Die empfohlene Möglichkeit, die Konnektivität von einem Service zu überprüfen, der auf einem verwalteten Knoten ausgeführt wird, und einem Service, der auf Fargate ausgeführt wird, besteht darin, eine Verbindung über den Servicenamen herzustellen.
-
Pods müssen zu dem Zeitpunkt, zu dem sie auf Fargate ausgeführt werden sollen, mit einem Fargate-Profil übereinstimmen. Pods, die nicht mit einem Fargate-Profil übereinstimmen, können als
Pending
stecken bleiben. Wenn ein übereinstimmendes Fargate-Profil vorhanden ist, können Sie ausstehende Pods, die Sie erstellt haben, löschen, um sie in Fargate neu zu planen. -
Daemonsets werden von Fargate nicht unterstützt. Wenn Ihre Anwendung einen Daemon benötigt, konfigurieren Sie diesen Daemon neu, sodass er als Sidecar-Container in Ihren Pods ausgeführt wird.
-
Privilegierte Container werden in Fargate nicht unterstützt.
-
Pods, die auf Fargate ausgeführt werden, können im
HostPort
-Manifest keinHostNetwork
oder Pod angeben. -
Das standardmäßige weiche
nofile
- undnproc
-Limit beträgt 1024 und das harte Limit 65535 für Fargate-Pods. -
GPUssind derzeit nicht auf Fargate verfügbar.
-
Pods, die auf Fargate laufen, werden nur in privaten Subnetzen unterstützt (mit NAT Gateway-Zugriff auf AWS Dienste, aber nicht mit einer direkten Route zu einem Internet Gateway), sodass in Ihren Clustern private Subnetze verfügbar VPC sein müssen. Weitere Informationen zu Clustern ohne ausgehenden Internetzugang finden Sie unter Stellen Sie private Cluster mit eingeschränktem Internetzugang bereit.
-
Sie können das verwendenPassen Sie die Pod-Ressourcen an mit Vertical Pod Autoscaler, um die anfängliche korrekte Größe CPU und den richtigen Speicher für Ihr Fargate festzulegenPods, und dann das verwenden, um diese Skalieren Sie Pod-Bereitstellungen mit Horizontal Pod Autoscaler Pods zu skalieren. Wenn Sie möchten, dass der Vertical Pod Autoscaler mit größeren CPU und Speicherkombinationen automatisch erneut Pods auf Fargate bereitgestellt wird, stellen Sie den Modus für den Vertical Pod Autoscaler entweder
Auto
auf oder ein, um die korrekte Funktionalität sicherzustellen.Recreate
Weitere Informationen finden Sie in der Vertical Pod Autoscaler-Dokumentation auf GitHub. -
DNSAuflösung und DNS Hostnamen müssen für Sie aktiviert sein. VPC Weitere Informationen finden Sie unter DNSSupport für Ihr VPC anzeigen und aktualisieren.
-
Amazon EKS Fargate bietet zusätzliche defense-in-depth FunktionenKubernetes, indem es jeden Pod innerhalb einer virtuellen Maschine (VM) isoliert. Diese VM-Grenze verhindert den Zugriff auf hostbasierte Ressourcen, die von anderen Pods im Falle eines Container-Escapes verwendet werden. Dies ist eine übliche Methode, um containerisierte Anwendungen anzugreifen und Zugriff auf Ressourcen außerhalb des Containers zu erhalten.
Die Nutzung von Amazon EKS ändert nichts an Ihren Verantwortlichkeiten im Rahmen des Modells der gemeinsamen Verantwortung. Sie sollten die Konfiguration von Cluster-Sicherheits- und Governance-Kontrollen sorgfältig prüfen. Der sicherste Weg, eine Anwendung zu isolieren, besteht immer darin, sie in einem separaten Cluster auszuführen.
-
Fargate-Profile unterstützen die Angabe von Subnetzen aus VPC sekundären CIDR Blöcken. Möglicherweise möchten Sie einen sekundären CIDR Block angeben. Dies liegt daran, dass in einem Subnetz nur eine begrenzte Anzahl von IP-Adressen verfügbar ist. Daher gibt es auch eine begrenzte Anzahl von Pods, die im Cluster erstellt werden können. Durch die Verwendung verschiedener Subnetze für Pods können Sie die Anzahl der verfügbaren IP-Adressen erhöhen. Weitere Informationen finden Sie unter
IPv4
CIDRBlöcke zu einem hinzufügenVPC. -
Der EC2 Amazon-Instance-Metadatenservice (IMDS) ist nicht verfügbar für diejenigenPods, die auf Fargate-Knoten bereitgestellt werden. Wenn Sie solche in Fargate installiert habenPods, für die IAM Anmeldeinformationen erforderlich sind, weisen Sie sie Ihrer Pods Nutzung IAM-Rollen für Servicekonten zu. Wenn Sie Zugriff auf andere Informationen Pods benötigen, die über verfügbar sindIMDS, müssen Sie diese Informationen fest in Ihre Pod Spezifikation einprogrammieren. Dazu gehört auch die AWS-Region Availability Zone, in der a bereitgestellt Pod wird.
-
Sie können Fargate nicht in Pods AWS Outposts AWS Wavelength, oder AWS Local Zones einsetzen.
-
Amazon EKS muss Fargate regelmäßig patchenPods, um sie zu schützen. Wir versuchen, die Auswirkungen von Updates möglichst gering zu halten. Es kann jedoch vorkommen, dass Pods gelöscht werden müssen, wenn sie nicht erfolgreich entfernt wurden. Es gibt einige Maßnahmen, die Sie durchführen können, um Unterbrechungen zu minimieren. Weitere Informationen finden Sie unter Aktionen für AWS Fargate Betriebssystem-Patching-Ereignisse festlegen.
-
Das VPCCNIAmazon-Plugin für Amazon EKS
ist auf Fargate-Knoten installiert. Sie können Alternative CNI Plugins für EKS Amazon-Cluster nicht mit Fargate-Knoten verwenden. -
A, Pod das auf Fargate läuft, mountet automatisch ein EFS Amazon-Dateisystem. Sie können die dynamische Bereitstellung von persistenten Volumes nicht mit Fargate-Knoten verwenden, aber Sie können die statische Bereitstellung verwenden.
-
Sie können keine EBS Amazon-Volumes auf Fargate Pods mounten.
-
Sie können den EBS CSI Amazon-Controller auf Fargate-Knoten ausführen, aber der EBS CSI Amazon-Knoten DaemonSet kann nur auf EC2 Amazon-Instances ausgeführt werden.
-
Nachdem ein Kubernetes-Job
als Completed
oderFailed
gekennzeichnet wurde, existieren die vom Job erstellten Pods normalerweise weiter. Durch dieses Verhalten können Sie die Protokolle und Ergebnisse anzeigen. Bei Fargate entstehen jedoch Kosten, wenn Sie den Job nachher nicht bereinigen.Um die zugehörigen Dateien automatisch zu löschen, Pods nachdem ein Vorgang Job abgeschlossen wurde oder fehlschlägt, können Sie mit dem Controller time-to-live (TTL) einen Zeitraum angeben. Das folgende Beispiel veranschaulicht die Angabe von
.spec.ttlSecondsAfterFinished
im Job-Manifest.apiVersion: batch/v1 kind: Job metadata: name: busybox spec: template: spec: containers: - name: busybox image: busybox command: ["/bin/sh", "-c", "sleep 10"] restartPolicy: Never
ttlSecondsAfterFinished: 60 # <-- TTL controller