Helfen Sie mit, diese Seite 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.
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.
Den AWS Security Token Service-Endpunkt für ein Dienstkonto konfigurieren
Wenn Sie eine verwenden Kubernetes Dienstkonto mit IAM-Rollen für Servicekonten IAM Rollen für Dienstkonten, dann können Sie den Typ des AWS Security Token Service-Endpunkts konfigurieren, der vom Dienstkonto verwendet wird, wenn Ihr Cluster und Ihre Plattformversion mit den in der folgenden Tabelle aufgeführten Versionen identisch oder höher sind. Wenn Ihre Kubernetes oder die Plattformversion ist älter als die in der Tabelle aufgeführten, dann können Ihre Dienstkonten nur den globalen Endpunkt verwenden.
Kubernetes-Version | Plattformversion | Standardtyp für Endpunkt |
---|---|---|
|
|
Regional |
|
|
Regional |
|
|
Regional |
|
|
Regional |
|
|
Regional |
|
|
Regional |
|
|
Regional |
|
|
Regional |
|
|
Regional |
AWS empfiehlt die Verwendung der regionalen AWS STS Endpunkte anstelle des globalen Endpunkts. Dies reduziert die Latenz, bietet integrierte Redundanz und erhöht die Gültigkeit der Sitzungstoken. Der AWS Security Token Service muss in der AWS Region aktiv sein, in der Pod läuft. Darüber hinaus muss Ihre Anwendung über eine integrierte Redundanz für eine andere AWS Region verfügen, falls der Dienst in der AWS Region ausfällt. Weitere Informationen finden Sie AWS STSim IAM Benutzerhandbuch unter Verwaltung in einer AWS Region.
-
Einen vorhandenen -Cluster. Wenn Sie noch keine haben, können Sie eine erstellen, indem Sie eine der Anleitungen unter verwendenErste Schritte mit Amazon EKS.
-
Ein vorhandener IAM OIDC Anbieter für Ihren Cluster. Weitere Informationen finden Sie unter Erstellen eines IAM OIDC Anbieter für Ihren Cluster.
-
Ein vorhandener Kubernetes Servicekonto, das für die Verwendung mit der IAM-Rollen für Servicekonten Amazon-Funktion EKS IAM für Servicekonten konfiguriert ist.
Die folgenden Beispiele verwenden alle den aws-Node Kubernetes Dienstkonto, das vom Konfigurieren Sie VPC CNI das zu verwendende Amazon-Plugin IRSA VPC CNI Amazon-Plugin verwendet wird. Sie können das ersetzen example values
mit Ihren eigenen Dienstkonten, Pods, Namespaces und andere Ressourcen.
-
Wählen Sie eine Pod das ein Dienstkonto verwendet, für das Sie den Endpunkt ändern möchten. Ermitteln Sie, AWS in welcher Region Pod läuft in. Ersetzen
aws-node-6mfgv
mit deinem Pod Name undkube-system
mit deinem Pod’s Namespace.kubectl describe pod aws-node-6mfgv -n kube-system |grep Node:
Eine Beispielausgabe sieht wie folgt aus.
ip-192-168-79-166.us-west-2/192.168.79.166
In der vorherigen Ausgabe Pod läuft auf einem Knoten in der Region US-West-2 AWS .
-
Ermitteln Sie den Endpunkttyp, den Pod’s Das Dienstkonto verwendet.
kubectl describe pod aws-node-6mfgv -n kube-system |grep AWS_STS_REGIONAL_ENDPOINTS
Eine Beispielausgabe sieht wie folgt aus.
AWS_STS_REGIONAL_ENDPOINTS: regional
Wenn der aktuelle Endpunkt global ist, dann wird
global
in der Ausgabe zurückgegeben. Wenn keine Ausgabe zurückgegeben wird, wird der Standard-Endpunkttyp verwendet und wurde nicht überschrieben. -
Wenn Ihre Cluster- oder Plattformversion dieselbe oder höher ist als die in der Tabelle aufgeführten, können Sie den von Ihrem Servicekonto verwendeten Endpunkttyp mit einem der folgenden Befehle vom Standardtyp in einen anderen Typ ändern. Ersetzen
aws-node
mit dem Namen Ihres Dienstkontos undkube-system
mit dem Namespace für Ihr Dienstkonto.-
Wenn Ihr Standard- oder aktueller Endpunkttyp global ist und Sie ihn in regional ändern möchten:
kubectl annotate serviceaccount -n kube-system aws-node eks.amazonaws.com/sts-regional-endpoints=true
Wenn Sie IAM-Rollen für Servicekonten IAM Rollen für Dienstkonten verwenden, um vorsigniertes S3 URLs in Ihrer Anwendung zu generieren, die in den Containern von Pods ausgeführt wird, ähnelt das Format der URL vier regionalen Endpunkte dem folgenden Beispiel:
https://bucket.s3.us-west-2.amazonaws.com/path?...&X-Amz-Credential=your-access-key-id/date/us-west-2/s3/aws4_request&...
-
Wenn Ihr Standard- oder aktueller Endpunkttyp regional ist und Sie ihn in global ändern möchten:
kubectl annotate serviceaccount -n kube-system aws-node eks.amazonaws.com/sts-regional-endpoints=false
Wenn Ihre Anwendung explizit Anfragen an AWS STS globale Endpunkte sendet und Sie das Standardverhalten der Verwendung regionaler Endpunkte in EKS Amazon-Clustern nicht außer Kraft setzen, schlagen Anfragen mit einem Fehler fehl. Weitere Informationen finden Sie unter Pod-Container erhalten folgenden Fehler: An error occurred (SignatureDoesNotMatch) when calling the GetCallerIdentity operation: Credential should be scoped to a valid region.
Wenn Sie IAM-Rollen für Servicekonten IAM Rollen für Dienstkonten verwenden, um vorsigniertes S3 URLs in Ihrer Anwendung zu generieren, die in den Containern von Pods ausgeführt wird, ähnelt das Format URL für globale Endpunkte dem folgenden Beispiel:
https://bucket.s3.amazonaws.com/path?...&X-Amz-Credential=your-access-key-id/date/us-west-2/s3/aws4_request&...
Wenn Sie über eine Automatisierung verfügen, die vorsignierte Daten URL in einem bestimmten Format erwartet, oder wenn Ihre Anwendung oder Downstream-Abhängigkeiten, die vorsignierte Dateien verwenden, Erwartungen an die AWS Zielregion URLs haben, nehmen Sie die erforderlichen Änderungen vor, um den entsprechenden Endpunkt zu verwenden. AWS STS
-
-
Löschen Sie alle vorhandenen Dateien und erstellen Sie sie neu Pods die dem Dienstkonto zugeordnet sind, um die Umgebungsvariablen für die Anmeldeinformationen anzuwenden. Der mutierende Webhook wendet sie nicht an Pods die schon laufen. Sie können ersetzen
Pods
,kube-system
, und-l k8s-app=aws-node
mit den Informationen für Pods für die Sie Ihre Anmerkung festgelegt haben.kubectl delete Pods -n kube-system -l k8s-app=aws-node
-
Bestätigen Sie, dass das alles Pods neu gestartet.
kubectl get Pods -n kube-system -l k8s-app=aws-node
-
Sehen Sie sich die Umgebungsvariablen für eine der folgenden an Pods. Stellen Sie sicher, dass der
AWS_STS_REGIONAL_ENDPOINTS
Wert dem entspricht, auf den Sie ihn in einem vorherigen Schritt festgelegt haben.kubectl describe pod aws-node-kzbtr -n kube-system |grep AWS_STS_REGIONAL_ENDPOINTS
Eine Beispielausgabe sieht wie folgt aus.
AWS_STS_REGIONAL_ENDPOINTS=regional