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.
Speichern Sie ein elastisches Dateisystem bei Amazon EFS
Amazon Elastic File System (AmazonEFS) bietet serverlosen, vollständig elastischen Dateispeicher, sodass Sie Dateidaten gemeinsam nutzen können, ohne Speicherkapazität und Leistung bereitstellen oder verwalten zu müssen. Der Amazon EFS Container Storage Interface (CSI) -Treiber
Überlegungen
-
Der EFS CSI Amazon-Treiber ist nicht mit Windows-basierten Container-Images kompatibel.
-
Sie können keine dynamische Bereitstellung
für persistente Volumes mit Fargate-Knoten verwenden, aber Sie können statische Bereitstellung verwenden. -
Für die dynamische Bereitstellung
ist der Treiber 1.2 oder höher erforderlich. Sie können die statische Bereitstellung für persistente Volumes verwenden, indem Sie die Version 1.1
des Treibers auf jeder unterstützten EKS Amazon-Cluster-Version verwenden (sieheVerstehen Sie den Lebenszyklus der Kubernetes-Version auf EKS). -
Version 1.3.2
oder höher dieses Treibers unterstützt die Arm64-Architektur, einschließlich Amazon EC2 Graviton-basierter Instances. -
Version 1.4.2
oder höher dieses Treibers unterstützt die Verwendung FIPS zum Mounten von Dateisystemen. -
Beachten Sie die Ressourcenkontingente für AmazonEFS. Beispielsweise gibt es ein Kontingent von 1000 Access Points, die für jedes EFS Amazon-Dateisystem erstellt werden können. Weitere Informationen finden Sie unter EFSAmazon-Ressourcenkontingente, die Sie nicht ändern können.
-
Ab Version 2.0.0
wechselte dieser Treiber von „Verwenden“ stunnel
zu „efs-proxy
für TLS Verbindungen“. Wenn er verwendetefs-proxy
wird, öffnet er eine Anzahl von Threads, die einem plus der Anzahl der Kerne für den Knoten entspricht, auf dem er läuft.
Voraussetzungen
-
Ein bestehendes AWS Identity and Access Management (IAM) OpenID Connect (OIDC) Anbieter für Ihren Cluster. Informationen zum Feststellen, ob Sie bereits über einen verfügen oder einen erstellen müssen, finden Sie unter Erstelle eine IAM OIDC Anbieter für Ihren Cluster.
-
Version
2.12.3
oder höher oder Version1.27.160
oder höher der AWS Befehlszeilenschnittstelle (AWS CLI), die auf Ihrem Gerät installiert und konfiguriert ist, oder AWS CloudShell. Um Ihre aktuelle Version zu überprüfen, verwenden Sieaws --version | cut -d / -f2 | cut -d ' ' -f1
. Paketmanager wieyum
,apt-get
, oder Homebrew for macOS liegen oft mehrere Versionen hinter der neuesten Version von AWS CLI. Informationen zur Installation der neuesten Version finden Sie unter Installation und Schnellkonfiguration mit aws configure im Benutzerhandbuch für die AWS Befehlszeilenschnittstelle. Die AWS CLI Version, in der installiert ist, AWS CloudShell kann auch mehrere Versionen hinter der neuesten Version liegen. Informationen zur Aktualisierung finden Sie unter Installation AWS CLI in Ihrem Home-Verzeichnis im AWS CloudShell Benutzerhandbuch. -
Das
kubectl
Befehlszeilentool ist auf Ihrem Gerät installiert oder AWS CloudShell. Die Version kann dieselbe sein oder bis zu einer Nebenversion vor oder nach der Kubernetes Version Ihres Clusters. Wenn Ihre Clusterversion beispielsweise1.29
ist, können Siekubectl
-Version1.28
,1.29
, oder1.30
damit verwenden. Informationen zum Installieren oder Aktualisieren vonkubectl
finden Sie unter Richten Sie kubectl und eksctl ein.
Schritt 1: Erstellen Sie eine IAM Rolle
Der EFS CSI Amazon-Treiber benötigt IAM Berechtigungen, um mit Ihrem Dateisystem zu interagieren. Erstellen Sie eine IAM Rolle und fügen Sie ihr die erforderliche AWS verwaltete Richtlinie hinzu. Um dieses Verfahren zu implementieren, können Sie eines der folgenden Tools verwenden:
Anmerkung
Die spezifischen Schritte in diesem Verfahren wurden für die Verwendung des Treibers als EKS Amazon-Add-on geschrieben. Einzelheiten zu selbstverwalteten Installationen finden Sie unter Treiberberechtigungen einrichten
eksctl
Führen Sie die folgenden Befehle aus, um eine IAM Rolle mit eksctl
zu erstellen. Ersetzen my-cluster
mit Ihrem Clusternamen und AmazonEKS_EFS_CSI_DriverRole
mit dem Namen für Ihre Rolle.
export cluster_name=my-cluster export role_name=AmazonEKS_EFS_CSI_DriverRole eksctl create iamserviceaccount \ --name efs-csi-controller-sa \ --namespace kube-system \ --cluster $cluster_name \ --role-name $role_name \ --role-only \ --attach-policy-arn arn:aws: iam::aws:policy/service-role/AmazonEFSCSIDriverPolicy \ --approve TRUST_POLICY=$(aws iam get-role --role-name $role_name --query 'Role.AssumeRolePolicyDocument' | \ sed -e 's/efs-csi-controller-sa/efs-csi-*/' -e 's/StringEquals/StringLike/') aws iam update-assume-role-policy --role-name $role_name --policy-document "$TRUST_POLICY"
AWS Management Console
Führen Sie Folgendes aus, um eine IAM Rolle mit zu erstellen AWS Management Console.
-
Öffnen Sie die IAM Konsole unter https://console.aws.amazon.com/iam/
. -
Wählen Sie im linken Navigationsbereich Roles aus.
-
Klicken Sie auf der Seite Roles (Rollen) auf Create role (Rolle erstellen).
-
Gehen Sie auf der Seite Select trusted entity (Vertrauenswürdige Entität auswählen) wie folgt vor:
-
Wählen Sie im Abschnitt Trusted entity type (Typ der vertrauenswürdigen Entität) die Option Web identity (Web-Identität) aus.
-
Wählen Sie für Identity Provider die OpenID Connect Anbieter URL für Ihren Cluster (wie unter Übersicht in Amazon angezeigtEKS).
-
Wählen Sie für Audience (Zielgruppe)
sts.amazonaws.com
. -
Wählen Sie Weiter.
-
-
Gehen Sie auf der Seite Add permissions (Berechtigungen hinzufügen) wie folgt vor:
-
Geben Sie im Feld Filterrichtlinien Folgendes ein
AmazonEFSCSIDriverPolicy
. -
Aktivieren Sie das Kontrollkästchen links neben
AmazonEFSCSIDriverPolicy
ist bei der Suche zurückgekehrt. -
Wählen Sie Weiter.
-
-
Gehen Sie auf der Seite Name, review, and create (Benennen, überprüfen und erstellen) wie folgt vor:
-
Geben Sie unter Rollenname einen eindeutigen Namen für Ihre Rolle ein, z. B.
AmazonEKS_EFS_CSI_DriverRole
. -
Fügen Sie der Rolle unter Tags hinzufügen (optional) Metadaten hinzu, indem Sie Tags als Schlüssel-Wert-Paare anfügen. Weitere Informationen zur Verwendung von Tags in IAM finden Sie im IAMBenutzerhandbuch unter IAMRessourcen taggen.
-
Wählen Sie Create role (Rolle erstellen) aus.
-
-
Nachdem die Rolle erstellt wurde, wählen Sie die Rolle in der Konsole aus, um sie zur Bearbeitung zu öffnen.
-
Wählen Sie die Registerkarte Trust Relationships (Vertrauensstellungen) und dann Edit trust policy (Vertrauensrichtlinie bearbeiten) aus.
-
Suchen Sie die Zeile, die der folgenden Zeile ähnelt:
"oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:aud": "sts.amazonaws.com"
Fügen Sie die folgende Zeile über der vorherigen Zeile hinzu. Ersetzen
region-code
mit der AWS Region, in der sich Ihr Cluster befindet. ErsetzenEXAMPLED539D4633E53DE1B71EXAMPLE
mit der OIDC Provider-ID Ihres Clusters."oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:sub": "system:serviceaccount:kube-system:efs-csi-*",
-
Ändern Sie den
Condition
-Operator von"StringEquals"
zu"StringLike"
. -
Wählen Sie Update Policy (Richtlinie aktualisieren) aus, um den Vorgang abzuschließen.
AWS CLI
Führen Sie die folgenden Befehle aus, um eine IAM Rolle mit zu erstellen AWS CLI.
-
Sehen Sie sich den OIDC Anbieter Ihres Clusters anURL. Ersetzen
my-cluster
mit Ihrem Clusternamen. Wenn die Ausgabe des BefehlsNone
ist, überprüfen Sie die Voraussetzungen.aws eks describe-cluster --name my-cluster --query "cluster.identity.oidc.issuer" --output text
Eine Beispielausgabe sieht wie folgt aus.
https://oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE
-
Erstellen Sie die IAM Rolle, die die
AssumeRoleWithWebIdentity
Aktion gewährt.-
Kopieren Sie den folgenden Inhalt in eine Datei mit dem Namen
aws-efs-csi-driver-trust-policy
.json``. Ersetzen111122223333
mit deiner Konto-ID. ErsetzenEXAMPLED539D4633E53DE1B71EXAMPLE
andregion-code
mit den im vorherigen Schritt zurückgegebenen Werten. Wenn sich Ihr Cluster in den AWS Regionen AWS GovCloud (USA-Ost) oder AWS GovCloud (US-West) befindet, ersetzen Sie ihn durcharn:aws:
.arn:aws-us-gov:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws: iam::111122223333:oidc-provider/oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringLike": { "oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:sub": "system:serviceaccount:kube-system:efs-csi-*", "oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:aud": "sts.amazonaws.com" } } } ] }
-
Erstellen Sie die -Rolle. Sie können ändern
AmazonEKS_EFS_CSI_DriverRole
zu einem anderen Namen, aber wenn Sie dies tun, stellen Sie sicher, dass Sie ihn auch in späteren Schritten ändern.aws iam create-role \ --role-name AmazonEKS_EFS_CSI_DriverRole \ --assume-role-policy-document file://"aws-efs-csi-driver-trust-policy.json"
-
-
Fügen Sie der Rolle mit dem folgenden Befehl die erforderliche AWS verwaltete Richtlinie hinzu. Wenn sich Ihr Cluster in den AWS Regionen AWS GovCloud (USA-Ost) oder AWS GovCloud (US-West) befindet, ersetzen Sie ihn durch
arn:aws:
.arn:aws-us-gov:
aws iam attach-role-policy \ --policy-arn arn:aws: iam::aws:policy/service-role/AmazonEFSCSIDriverPolicy \ --role-name AmazonEKS_EFS_CSI_DriverRole
Schritt 2: Holen Sie sich den EFS CSI Amazon-Treiber
Wir empfehlen, dass Sie den EFS CSI Amazon-Treiber über das EKS Amazon-Add-on installieren. Informationen zum Hinzufügen eines EKS Amazon-Add-ons zu Ihrem Cluster finden Sie unterEin EKS Amazon-Add-on erstellen. Weitere Informationen zu Add-ons finden Sie unter EKSAmazon-Add-Ons. Wenn Sie das EKS Amazon-Add-on nicht verwenden können, empfehlen wir Ihnen, ein Problem mit der Begründung einzureichen, warum Sie das nicht können, an das GitHub Container-Roadmap-Repository
Wenn Sie alternativ eine selbstverwaltete Installation des EFS CSI Amazon-Treibers wünschen, finden Sie weitere Informationen unter Installation
Schritt 3: Erstellen Sie ein EFS Amazon-Dateisystem
Anmerkung
Dieser Schritt ist für AWS Fargate nicht erforderlich. A Pod Wenn auf Fargate ausgeführt wird, wird automatisch ein EFS Amazon-Dateisystem bereitgestellt, ohne dass manuelle Schritte zur Treiberinstallation erforderlich sind.
Informationen zum Erstellen eines EFS Amazon-Dateisystems finden Sie unter Erstellen eines EFS Amazon-Dateisystems für Amazon EKS
Schritt 4: Stellen Sie eine Beispielanwendung bereit
Sie können eine Vielzahl von Beispiel-Apps bereitstellen und diese nach Bedarf ändern. Weitere Informationen finden Sie unter Beispiele