Helfen Sie 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.
AWS Fargate Profil
Wichtig
AWS Fargate mit Amazon EKS ist in AWS GovCloud (USA-Ost) und AWS GovCloud (US-West) nicht verfügbar.
Bevor Sie Pods planen, die in Fargate in Ihrem Cluster ausgeführt werden, müssen Sie mindestens ein Fargate-Profil definieren, das angibt, welche Pods Fargate beim Start verwendet.
Mit dem Fargate-Profil kann ein Administrator deklarieren, welche Pods in Fargate ausgeführt werden. Sie können dies über die Profil-Selektoren tun. Sie können bis zu fünf Selektoren zu jedem Profil hinzufügen. Jeder Selektor muss einen Namespace enthalten. Der Selector kann auch Labels enthalten. Das Label-Feld besteht aus mehreren optionalen Schlüssel-Wert-Paaren. Pods, die den Selektoren entsprechen, werden auf Fargate geplant. Pods werden mit einem Namespace und den Labels abgeglichen, die im Selektor angegeben sind. Wenn ein Namespace-Selektor ohne Labels definiert ist, versucht Amazon EKS, alle Pods, die in diesem Namespace ausgeführt werden, mithilfe des Profils in Fargate zu planen. Wenn a to-be-scheduled Pod mit einem der Selektoren im Fargate-Profil übereinstimmt, Pod ist dies auf Fargate geplant.
Wenn ein Pod mit mehreren Fargate-Profilen übereinstimmt, können Sie angeben, welches Profil ein Pod verwendet, indem Sie das folgende Kubernetes-Label zur Pod-Spezifikation hinzufügen: eks.amazonaws.com/fargate-profile:
. Der Pod muss mit einem Selektor in diesem Profil übereinstimmen, damit er in Fargate geplant werden kann. Kubernetes-Affinitäts- und Anti-Affinitätsregeln werden nicht berücksichtigt und sind bei Amazon-EKS-Fargate-Pods nicht erforderlich.my-fargate-profile
Wenn Sie ein Fargate-Profil erstellen, müssen Sie eine Pod-Ausführungsrolle angeben. Diese Ausführungsrolle ist für die Amazon-EKS-Komponenten vorgesehen, die auf der Fargate-Infrastruktur mit dem Profil ausgeführt werden. Sie wird zur rollenbasierten Kubernetes-Zugriffssteuerungkubelet
, das in der Fargate-Infrastruktur ausgeführt wird, bei Ihrem Amazon-EKS-Cluster registrieren und als Knoten in Ihrem Cluster angezeigt werden. Die Pod-Ausführungsrolle bietet auch IAM-Berechtigungen für die Fargate-Infrastruktur, um Lesezugriff auf Amazon ECR-Image-Repositorys zu ermöglichen. Weitere Informationen finden Sie unter IAM-Rolle zur Ausführung von Amazon-EKS-Pod.
Fargate-Profile können nicht geändert werden. Sie können jedoch ein neues aktuelles Profil erstellen, um ein vorhandenes Profil zu ersetzen, und dann das Original löschen.
Anmerkung
Alle Pods, die mit einem Fargate-Profil ausgeführt werden, werden gestoppt und als ausstehend gekennzeichnet, wenn das Profil gelöscht wird.
Wenn Fargate-Profile in einem Cluster den Status DELETING
haben, müssen Sie warten, bis dieses Fargate-Profil gelöscht wurde, bevor Sie andere Profile in diesem Cluster erstellen können.
Amazon EKS und Fargate versuchen, Pods auf jedes der im Fargate-Profil definierten Subnetze zu verteilen. Es kann jedoch zu einer ungleichmäßigen Verteilung kommen. Wenn Sie eine gleichmäßige Verteilung benötigen, verwenden Sie zwei Fargate-Profile. Eine gleichmäßige Verteilung ist in Szenarien wichtig, in denen Sie zwei Replikate bereitstellen möchten und keine Ausfallzeiten wünschen. Wir empfehlen, dass jedes Profil nur ein Subnetz hat.
Fargate-Profilkomponenten
Die folgenden Komponenten sind in einem Fargate-Profil enthalten.
- Pod-Ausführungsrolle
-
Wenn Ihr Cluster erstellt wird Pods AWS Fargate, muss der
kubelet
, der auf der Fargate-Infrastruktur läuft, in Ihrem Namen AWS API-Aufrufe tätigen. Beispielsweise muss er Aufrufe tätigen, um Container-Images aus Amazon ECR zu ziehen. Die Amazon-EKS-Pod-Ausführungsrolle stellt die entsprechenden IAM-Berechtigungen bereit.Wenn Sie ein Fargate-Profil erstellen, müssen Sie eine Pod-Ausführungsrolle angeben, die mit Ihren Pods verwendet werden soll. Diese Rolle wird zur rollenbasierten Kubernetes-Zugriffssteuerung
(RBAC) des Clusters zur Autorisierung hinzugefügt. Auf diese Weise kann sich kubelet
, das in der Fargate-Infrastruktur ausgeführt wird, bei Ihrem Amazon-EKS-Cluster registrieren und als Knoten in Ihrem Cluster angezeigt werden. Weitere Informationen finden Sie unter IAM-Rolle zur Ausführung von Amazon-EKS-Pod. - Subnetze
-
Die IDs von Subnetzen, in denen Pods gestartet werden, die dieses Profil verwenden. Derzeit werden Pods, welche auf Fargate ausgeführt werden, keine öffentlichen IP-Adressen zugewiesen. Daher werden für diesen Parameter nur private Subnetze ohne direkte Route zu einem Internet-Gateway akzeptiert.
- Selektoren
-
Die Selektoren, mit denen Pods, die dieses Fargate-Profil verwenden, übereinstimmen sollen. Sie können bis zu fünf Selektoren in einem Fargate-Profil angeben. Die Selektoren bestehen aus folgenden Komponenten:
-
Namespace – Sie müssen einen Namespace für einen Selektor angeben. Der Selektor stimmt nur mit Pods überein, die in diesem Namespace erstellt werden. Sie können jedoch mehrere Selektoren erstellen, um mehrere Namespaces zu adressieren.
-
Labels – Optional können Sie Kubernetes-Labels angeben, mit denen der Selektor übereinstimmen muss. Der Selektor stimmt nur mit Pods überein, die alle im Selektor angegebenen Labels aufweisen.
-
Fargate-Profil-Platzhalter
Zusätzlich zu den Zeichen, die von Kubernetes erlaubt sind, dürfen Sie
und *
in den Selektorkriterien für Namespaces, Label-Schlüssel und Label-Werte verwenden:?
-
steht für kein, ein oder mehrere Zeichen. Zum Beispiel kann*
prod*
prod
undprod-metrics
darstellen. -
steht für ein einzelnes Zeichen (z. B. kann?
value?
valuea
darstellen). Es kann jedoch nichtvalue
undvalue-a
darstellen, da?
nur genau ein Zeichen darstellen kann.
Diese Platzhalterzeichen können an jeder Position und in Kombination verwendet werden (z. B.
, prod*
und *dev
). Andere Platzhalter und Formen des Musterabgleichs, wie z. B. reguläre Ausdrücke, werden nicht unterstützt.frontend*?
Wenn mehrere übereinstimmende Profile für den Namespace und die Labels in der Pod-Spezifikation vorhanden sind, übernimmt Fargate das Profil basierend auf einer alphanumerischen Sortierung nach Profilnamen. Wenn zum Beispiel Profil A (mit dem Namen beta-workload
) und Profil B (mit dem Namen prod-workload
) passende Selektoren für die zu startenden Pods haben, wählt Fargate Profil A (beta-workload
) für die Pods aus. Die Pods haben Labels mit Profil A auf den Pods (z. B. eks.amazonaws.com/fargate-profile=beta-workload
).
Wenn Sie vorhandene Fargate-Pods zu neuen Profilen migrieren möchten, die Platzhalter verwenden, gibt es zwei Möglichkeiten, dies zu tun:
-
Erstellen Sie ein neues Profil mit passenden Selektoren und löschen Sie dann die alten Profile. Mit alten Profilen gekennzeichnete Pods werden in neue übereinstimmende Profile verschoben.
-
Wenn Sie Workloads migrieren möchten, sich aber nicht sicher sind, welche Fargate-Labels sich auf jedem Fargate-Pod befinden, können Sie die folgende Methode verwenden. Erstellen Sie ein neues Profil mit einem Namen, das zuerst alphanumerisch unter den Profilen auf demselben Cluster sortiert. Recyceln Sie dann die Fargate-Pods, die in neue Profile migriert werden müssen.
Erstellen eines Fargate-Profils
In diesem Thema wird beschrieben, wie Sie ein Fargate-Profil erstellen. Sie müssen auch eine Pod-Ausführungsrolle erstellt haben, die für Ihr Fargate-Profil verwendet werden soll. Weitere Informationen finden Sie unterIAM-Rolle zur Ausführung von Amazon-EKS-Pod. Podsdie auf Fargate laufen, werden nur in privaten Subnetzen mit NAT-Gateway-Zugriff auf AWS-Services, aber nicht mit direkter Route zu einem Internet Gateway unterstützt. Dies ist so, da in der VPC Ihres Clusters private Subnetze verfügbar sein müssen. Sie können ein Profil mit eksctl
oder der AWS Management Console aus.
Für diesen Vorgang ist eksctl
Version 0.183.0
oder höher erforderlich. Sie können Ihre -Version mit dem folgenden Befehl überprüfen:
eksctl version
Eine Installations- und Upgrade-Anleitung für eksctl
finden Sie in der Dokumentation zu eksctl
unter Installation
Löschen eines Fargate-Profils
In diesem Thema wird beschrieben, wie Sie ein Fargate-Profil löschen.
Wenn Sie ein Fargate-Profil löschen, werden alle Pods gelöscht, die in Fargate mit dem Profil geplant wurden. Wenn diese Pods mit einem anderen Fargate-Profil übereinstimmen, werden sie mit diesem Profil in Fargate geplant. Wenn sie nicht mehr mit einem der Fargate-Profile übereinstimmen, werden sie nicht in Fargate geplant und ggf. als ausstehend gekennzeichnet.
Nur ein Fargate-Profil in einem Cluster kann sich jeweils im DELETING
-Status befinden. Warten Sie, bis das Löschen eines Fargate-Profils abgeschlossen ist, bevor Sie andere Profile in diesem Cluster löschen können.
Sie können ein Profil mit eksctl
AWS Management Console, dem oder dem AWS CLI löschen. Wählen Sie die Registerkarte mit dem Namen des Werkzeugen aus, mit dem Sie Ihr Profil löschen möchten.