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.
Erste Schritte mit der AWS Fargate Verwendung von Amazon EKS
Wichtig
AWS Fargate mit Amazon EKS ist in AWS GovCloud (USA-Ost) und AWS GovCloud (US-West) nicht verfügbar.
In diesem Thema wird beschrieben, wie Sie AWS Fargate mit Pods der Ausführung Ihres Amazon EKS-Clusters beginnen können.
Wenn Sie den Zugriff auf den öffentlichen Endpunkt Ihres Clusters mithilfe von CIDR-Blöcken einschränken, empfehlen wir, dass Sie auch den privaten Endpunktzugriff aktivieren. Auf diese Weise können Fargate-Pods mit dem Cluster kommunizieren. Wenn der private Endpunkt nicht aktiviert ist, müssen die CIDR-Blöcke, die Sie für den öffentlichen Zugriff angeben, die Ausgangsquellen aus Ihrer VPC enthalten. Weitere Informationen finden Sie unter Zugriffskontrolle für den Amazon-EKS-Cluster-Endpunkt.
Voraussetzung
Einen vorhandenen -Cluster. Wenn Sie noch keinen Amazon-EKS-Cluster haben, lesen Sie Erste Schritte mit Amazon EKS.
Sicherstellen, dass vorhandene Knoten mit Fargate-Pods kommunizieren können
Wenn Sie mit einem neuen Cluster ohne Knoten oder einem Cluster nur mit verwalteten Knotengruppen arbeiten, können Sie mit Erstellen einer Fargate-Pod-Ausführungsrolle fortfahren.
Angenommen, Sie arbeiten mit einem vorhandenen Cluster, dem bereits Knoten zugeordnet sind. Stellen Sie sicher, dass Pods auf diesen Knoten frei mit den Pods kommunizieren können, die auf Fargate ausgeführt werden. Pods, die auf Fargate ausgeführt werden, werden automatisch so konfiguriert, dass die Cluster-Sicherheitsgruppe für den Cluster verwendet wird, dem sie zugeordnet sind. Stellen Sie sicher, dass alle vorhandenen Knoten im Cluster Datenverkehr an und von der Cluster-Sicherheitsgruppe senden und empfangen können. Verwaltete Knotengruppen werden automatisch für die Verwendung der Cluster-Sicherheitsgruppe konfiguriert, sodass Sie diese nicht ändern oder auf diese Kompatibilität überprüfen müssen.
Für bestehende Knotengruppen, die mit eksctl
oder den von Amazon EKS verwalteten AWS CloudFormation Vorlagen erstellt wurden, können Sie die Cluster-Sicherheitsgruppe manuell zu den Knoten hinzufügen. Alternativ können Sie die Auto-Scaling-Gruppestartvorlage für die Knotengruppe ändern, um die Cluster-Sicherheitsgruppe an die Instances anzuhängen. Weitere Informationen finden Sie unter Ändern der Sicherheitsgruppen einer Instance im Amazon-VPC-Benutzerhandbuch.
Sie können im Abschnitt Netzwerk für den Cluster AWS Management Console nach einer Sicherheitsgruppe für Ihren Cluster suchen. Sie können dies auch mit dem folgenden AWS CLI Befehl tun. Wenn Sie diesen Befehl verwenden, ersetzen Sie
durch den Namen Ihres Clusters.my-cluster
aws eks describe-cluster --name
my-cluster
--query cluster.resourcesVpcConfig.clusterSecurityGroupId
Erstellen einer Fargate-Pod-Ausführungsrolle
Wenn Ihr Cluster erstellt wird Pods AWS Fargate, müssen die Komponenten, die auf der Fargate-Infrastruktur ausgeführt werden, in Ihrem Namen AWS API-Aufrufe tätigen. Die Amazon-EKS-Pod-Ausführungsrolle stellt die entsprechenden IAM-Berechtigungen bereit. Informationen zum Erstellen einer AWS Fargate Pod Ausführungsrolle finden Sie unterIAM-Rolle zur Ausführung von Amazon-EKS-Pod.
Anmerkung
Wenn Sie den Cluster mithilfe von eksctl
und der Option --fargate
erstellt haben, verfügt der Cluster bereits über eine Pod-Ausführungsrolle, die Sie in der IAM-Konsole mit dem Muster eksctl-
finden können. Wenn Sie Ihre Fargate-Profile mit my-cluster
-FargatePodExecutionRole-ABCDEFGHIJKL
eksctl
anlegen, erstellt eksctl
Ihre Pod-Ausführungsrolle, sofern noch keine erstellt wurde.
Erstellen eines Fargate-Profils für Ihren Cluster
Bevor Sie Pods planen können, die in Fargate in Ihrem Cluster ausgeführt werden, müssen Sie ein Fargate-Profil definieren, das angibt, welche Pods Fargate beim Start verwenden soll. Weitere Informationen finden Sie unter AWS Fargate Profil.
Anmerkung
Wenn Sie Ihren Cluster mithilfe von eksctl
und der Option --fargate
erstellt haben, wurde bereits ein Fargate-Profil für Ihren Cluster mit Selektoren für alle Pods in den kube-system
- und default
-Namespaces erstellt. Gehen Sie wie folgt vor, um Fargate-Profile für alle anderen Namespaces zu erstellen, die Sie mit Fargate verwenden möchten.
Sie können ein Fargate-Profil mit eksctl
oder AWS Management Console erstellen.
Aktualisieren: CoreDNS
Standardmäßig ist CoreDNS zum Ausführen in der Amazon-EC2-Infrastruktur auf Amazon-EKS-Clustern konfiguriert. Wenn Sie Ihre Pods auf Fargate in Ihrem Cluster nur ausführen möchten, führen Sie die folgenden Schritte aus.
Anmerkung
Wenn Sie einen Cluster mit eksctl
unter Verwendung von --fargate
-Option erstellt haben, können Sie zu Nächste Schritte springen.
Erstellen Sie jedes Fargate-Profil für CoreDNS mit dem folgenden Befehl. Ersetzen Sie
durch den Namen Ihres Clusters,my-cluster
durch die ID Ihres Kontos,111122223333
durch den Namen Ihrer Pod-Ausführungsrolle undAmazonEKSFargatePodExecutionRole
,0000000000000001
und0000000000000002
durch die IDs Ihrer privaten Subnetze. Wenn Sie über keine Pod-Ausführungsrolle verfügen, müssen Sie zuerst eine erstellen.0000000000000003
Wichtig
Der Rollen-ARN darf als Pfad nur
/
enthalten. Wenn der Name Ihrer Rolle also beispielsweisedevelopment/apps/my-role
lautet, müssen Sie ihn beim Angeben des ARN für die Rolle inmy-role
ändern. Das Format des Rollen-ARN mussarn:aws:iam::
sein.111122223333
:role/role-name
aws eks create-fargate-profile \ --fargate-profile-name coredns \ --cluster-name
my-cluster
\ --pod-execution-role-arn arn:aws:iam::111122223333
:role/AmazonEKSFargatePodExecutionRole
\ --selectors namespace=kube-system,labels={k8s-app=kube-dns} \ --subnets subnet-0000000000000001
subnet-0000000000000002
subnet-0000000000000003
Verwenden Sie den folgenden Befehl, um die
eks.amazonaws.com/compute-type : ec2
-Anmerkung aus den CoreDNS-Pods zu entfernen.kubectl patch deployment coredns \ -n kube-system \ --type json \ -p='[{"op": "remove", "path": "/spec/template/metadata/annotations/eks.amazonaws.com~1compute-type"}]'
Nächste Schritte
-
Mit dem folgenden Workflow können Sie mit der Migration Ihrer vorhandenen Anwendungen zum Ausführen in Fargate beginnen.
-
Erstellen Sie ein Fargate-Profil das dem Kubernetes-Namespace und den Kubernetes-Labels Ihrer Anwendung entspricht.
-
Löschen Sie alle vorhandenen Pods, und erstellen Sie sie neu, sodass sie in Fargate geplant sind. Mit dem folgenden Befehl wird beispielsweise ein Rollout der
coredns
-Bereitstellung ausgelöst. Sie können den Namespace und den Bereitstellungstyp ändern, um Ihre spezifischen Pods zu aktualisieren.kubectl rollout restart -n
kube-system
deployment coredns
-
-
Stellen Sie das Application Load Balancing auf Amazon EKS bereit, um Ingress-Objekte für Ihre Pods zuzulassen, die auf Fargate ausgeführt werden.
-
Sie können Vertical Pod Autoscaler verwenden, um die CPU und den Speicher für Ihre Fargate-Pods anfänglich richtig zu dimensionieren, und dann Horizontal Pod Autoscaler verwenden, um diese Pods zu skalieren. Wenn Sie möchten, dass der Vertical Pod Autoscaler Pods mit höheren CPU- und Speicherkombinationen automatisch erneut in Fargate bereitstellt, stellen Sie den Modus für den Vertical-Pod-Autoscaler-Modus entweder auf
Auto
oderRecreate
. Dies dient der Gewährleistung einer korrekten Funktion. Weitere Informationen finden Sie in der Vertical Pod Autoscaler-Dokumentation auf GitHub. -
Sie können den AWS Distro für OpenTelemetry
(ADOT)-Kollektor zur Anwendungsüberwachung durch Befolgen dieser Anweisungen einrichten.