Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Speichern Sie Kubernetes-Volumes mit Amazon EBS

Fokusmodus
Speichern Sie Kubernetes-Volumes mit Amazon EBS - Amazon EKS

Hilf 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.

Wenn Sie zu diesem Benutzerhandbuch beitragen möchten, wählen Sie den GitHub Link Diese Seite bearbeiten auf, der sich im rechten Bereich jeder Seite befindet.

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.

Hilf 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.

Wenn Sie zu diesem Benutzerhandbuch beitragen möchten, wählen Sie den GitHub Link Diese Seite bearbeiten auf, der sich im rechten Bereich jeder Seite befindet.

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.

Anmerkung

Neu: Der automatische Modus von Amazon EKS automatisiert Routineaufgaben für Blockspeicher. Weitere Informationen erhalten Sie unter Bereitstellen eines statusbehafteten Beispiel-Workloads im automatischen Modus von EKS.

Der Container Storage Interface (CSI) -Treiber für Amazon Elastic Block Store (Amazon EBS) verwaltet den Lebenszyklus von Amazon EBS-Volumes als Speicher für die von Ihnen erstellten Kubernetes-Volumes. Der Amazon EBS CSI-Treiber erstellt Amazon EBS-Volumes für diese Typen von Kubernetes-Volumes: generische ephemere Volumes und persistente Volumes.

Überlegungen

  • Sie müssen den Amazon EBS CSI-Controller nicht auf EKS-Auto-Mode-Clustern installieren.

  • Sie können Amazon EBS-Volumes nicht auf Fargate Pods mounten.

  • Sie können den Amazon EBS CSI-Controller auf Fargate-Knoten ausführen, aber der Amazon EBS CSI-Knoten DaemonSet kann nur auf Amazon-Instances ausgeführt werden. EC2

  • Amazon EBS-Volumes und der Amazon EBS CSI-Treiber sind nicht mit Amazon EKS-Hybridknoten kompatibel.

  • Support wird für die neueste Add-On-Version und eine frühere Version bereitgestellt. In der neuesten Version gefundene Fehler oder Sicherheitslücken werden in einer neuen Nebenversion auf die vorherige Version zurückportiert.

  • Nur Plattformversionen, die aus einer Speicherklasse erstellt wurden, die ebs.csi.eks.amazonaws.com als Provisioner verwendet wird, können auf Knoten gemountet werden, die mit EKS Auto Mode erstellt wurden. Bestehende Plattformversionen müssen mithilfe eines Volume-Snapshots auf die neue Speicherklasse migriert werden.

Wichtig

Um die Snapshot-Funktionalität des Amazon EBS CSI-Treibers nutzen zu können, müssen Sie zuerst den CSI-Snapshot-Controller installieren. Weitere Informationen finden Sie unter Snapshot-Funktionalität für CSI-Volumes aktivieren.

Voraussetzungen

Schritt 1: Erstellen einer IAM-Rolle

Das Amazon EBS CSI-Plugin benötigt IAM-Berechtigungen, um in Ihrem Namen Anrufe tätigen AWS APIs zu können. Wenn Sie diese Schritte nicht ausführen, kubectl describe pvc wird beim Versuch, das Add-on zu installieren und es auszuführen, eine failed to provision volume with StorageClass could not create volume in EC2: UnauthorizedOperation Fehlermeldung angezeigt. Weitere Informationen finden Sie unter Treiberberechtigung einrichten auf GitHub.

Anmerkung

Pods haben Zugriff auf die Berechtigungen, die der IAM-Rolle zugewiesen sind, sofern Sie den Zugriff auf IMDS nicht blockieren. Weitere Informationen finden Sie unter Schützen Sie Amazon EKS-Cluster mit Best Practices.

Das folgende Verfahren zeigt Ihnen, wie Sie eine IAM-Rolle erstellen und ihr die AWS verwaltete Richtlinie zuordnen. Um dieses Verfahren zu implementieren, können Sie eines der folgenden Tools verwenden:

Anmerkung

Die spezifischen Schritte in diesem Verfahren sind für die Verwendung des Treibers als Amazon-EKS-Add-on geschrieben. Es sind verschiedene Schritte erforderlich, um den Treiber als selbstverwaltetes Add-on zu verwenden. Weitere Informationen finden Sie unter Fahrerberechtigungen einrichten für GitHub.

eksctl

  1. Erstellen Sie eine IAM-Rolle und fügen Sie eine Richtlinie hinzu. AWS verwaltet eine AWS verwaltete Richtlinie oder Sie können Ihre eigene benutzerdefinierte Richtlinie erstellen. Sie können eine IAM-Rolle erstellen und die AWS verwaltete Richtlinie mit dem folgenden Befehl anhängen. Ersetzen Sie my-cluster mit dem Namen Ihres Clusters. Der Befehl stellt einen AWS CloudFormation Stack bereit, der eine IAM-Rolle erstellt und ihr die IAM-Richtlinie anhängt.

    eksctl create iamserviceaccount \ --name ebs-csi-controller-sa \ --namespace kube-system \ --cluster my-cluster \ --role-name AmazonEKS_EBS_CSI_DriverRole \ --role-only \ --attach-policy-arn arn:aws: iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy \ --approve
  2. Wenn Sie einen benutzerdefinierten KMS-Schlüssel für die Verschlüsselung auf Ihren Amazon-EBS-Volumes verwenden, passen Sie die IAM-Rolle nach Bedarf an. Führen Sie beispielsweise folgende Schritte aus:

    1. Kopieren Sie den folgenden Code und fügen Sie diesen in eine neue kms-key-for-encryption-on-ebs.json-Datei ein. Ersetzen Sie custom-key-arn durch den benutzerdefinierten KMS-Schlüssel-ARN.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": ["custom-key-arn"], "Condition": { "Bool": { "kms:GrantIsForAWSResource": "true" } } }, { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": ["custom-key-arn"] } ] }
    2. Erstellen Sie die Richtlinie. Sie können KMS_Key_For_Encryption_On_EBS_Policy in einen anderen Namen ändern. In diesem Fall ändern Sie sie auch in den späteren Schritten.

      aws iam create-policy \ --policy-name KMS_Key_For_Encryption_On_EBS_Policy \ --policy-document file://kms-key-for-encryption-on-ebs.json
    3. Hängen Sie die IAM-Richtlinie mit dem folgenden Befehl an die Rolle an. Ersetzen Sie 111122223333 durch Ihre Konto-ID.

      aws iam attach-role-policy \ --policy-arn arn:aws: iam::111122223333:policy/KMS_Key_For_Encryption_On_EBS_Policy \ --role-name AmazonEKS_EBS_CSI_DriverRole

AWS Management Console

  1. Öffnen Sie unter https://console.aws.amazon.com/iam/ die IAM-Konsole.

  2. Wählen Sie im linken Navigationsbereich Roles aus.

  3. Klicken Sie auf der Seite Roles (Rollen) auf Create role (Rolle erstellen).

  4. Gehen Sie auf der Seite Select trusted entity (Vertrauenswürdige Entität auswählen) wie folgt vor:

    1. Wählen Sie im Abschnitt Trusted entity type (Typ der vertrauenswürdigen Entität) die Option Web identity (Web-Identität) aus.

    2. Wählen Sie für Identity provider (Identitätsanbieter) die Option OpenID Connect provider URL (OpenID-Connect-Anbieter-URL) für Ihren Cluster aus (wie unter Overview (Übersicht) in Amazon EKS gezeigt).

    3. Wählen Sie für Audience (Zielgruppe) sts.amazonaws.com.

    4. Wählen Sie Weiter.

  5. Gehen Sie auf der Seite Add permissions (Berechtigungen hinzufügen) wie folgt vor:

    1. Geben Sie im Feld Filter policies (Filterrichtlinien) AmazonEBSCSIDriverPolicy ein.

    2. Aktivieren Sie das Kontrollkästchen links neben der AmazonEBSCSIDriverPolicy, die bei der Suche zurückgegeben wurde.

    3. Wählen Sie Weiter.

  6. Gehen Sie auf der Seite Name, review, and create (Benennen, überprüfen und erstellen) wie folgt vor:

    1. Geben Sie unter Role name (Rollenname) einen eindeutigen Namen für die Rolle ein, z. B. AmazonEKS_EBS_CSI_DriverRole.

    2. 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 unter Markieren von IAM-Ressourcen im IAM-Benutzerhandbuch.

    3. Wählen Sie Create role (Rolle erstellen) aus.

  7. Nachdem die Rolle erstellt wurde, wählen Sie die Rolle in der Konsole aus, um sie zur Bearbeitung zu öffnen.

  8. Wählen Sie die Registerkarte Trust Relationships (Vertrauensstellungen) und dann Edit trust policy (Vertrauensrichtlinie bearbeiten) aus.

  9. Suchen Sie die Zeile, die der folgenden Zeile ähnelt:

    "oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:aud": "sts.amazonaws.com"

    Fügen Sie am Ende der vorherigen Zeile ein Komma hinzu und fügen Sie anschließend die folgende Zeile nach der vorherigen Zeile hinzu. Ersetzen Sie es region-code durch die AWS Region, in der sich Ihr Cluster befindet. EXAMPLED539D4633E53DE1B71EXAMPLEErsetzen Sie es durch die OIDC-Anbieter-ID Ihres Clusters.

    "oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:sub": "system:serviceaccount:kube-system:ebs-csi-controller-sa"
  10. Wählen Sie Update Policy (Richtlinie aktualisieren) aus, um den Vorgang abzuschließen.

  11. Wenn Sie einen benutzerdefinierten KMS-Schlüssel für die Verschlüsselung auf Ihren Amazon-EBS-Volumes verwenden, passen Sie die IAM-Rolle nach Bedarf an. Führen Sie beispielsweise folgende Schritte aus:

    1. Wählen Sie im linken Navigationsbereich die Option Policies aus.

    2. Wählen Sie auf der Seite Policies (Richtlinien) die Option Create a policy (Richtlinie erstellen).

    3. Wählen Sie auf der Seite Create policy (Richtlinie erstellen) die Registerkarte JSON aus.

    4. Kopieren Sie den folgenden Code in den Editor und ersetzen Sie custom-key-arn durch den benutzerdefinierten KMS-Schlüssel-ARN:

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": ["custom-key-arn"], "Condition": { "Bool": { "kms:GrantIsForAWSResource": "true" } } }, { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": ["custom-key-arn"] } ] }
    5. Wählen Sie Next: Markierungen (Weiter: Markierungen).

    6. Wählen Sie auf der Seite Add Tags (optional) (Tags hinzufügen (optional)) die Option Next: Review (Weiter: Prüfen).

    7. Geben Sie unter Name einen eindeutigen Namen für Ihre Richtlinie ein (z. B. KMS_Key_For_Encryption_On_EBS_Policy).

    8. Wählen Sie Create Policy (Richtlinie erstellen) aus.

    9. Wählen Sie im linken Navigationsbereich Roles aus.

    10. Wählen Sie das AmazonEKS_EBS_CSI_DriverRolein der Konsole aus, um es zur Bearbeitung zu öffnen.

    11. Wählen Sie in der Dropdown-Liste Add permissions (Berechtigungen hinzufügen) Attach policies (Richtlinien hinzufügen) aus.

    12. Geben Sie im Feld Filter policies (Filterrichtlinien) KMS_Key_For_Encryption_On_EBS_Policy ein.

    13. Aktivieren Sie das Kontrollkästchen links neben der KMS_Key_For_Encryption_On_EBS_Policy, die bei der Suche zurückgegeben wurde.

    14. Wählen Sie Attach Policies (Richtlinien hinzufügen).

AWS CLI

  1. Sehen Sie sich die OIDC-Provider-URL Ihres Clusters an. Ersetzen Sie my-cluster durch Ihren Clusternamen. Wenn die Ausgabe des Befehls None 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
  2. Erstellen Sie die IAM-Rolle und gewähren Sie ihr die AssumeRoleWithWebIdentity-Aktion.

    1. Kopieren Sie den folgenden Inhalt in eine Datei mit dem Namen. aws-ebs-csi-driver-trust-policy.json Ersetzen Sie 111122223333 durch Ihre Konto-ID. Ersetzen Sie EXAMPLED539D4633E53DE1B71EXAMPLE und region-code mit den im vorherigen Schritt zurückgegebenen Werten.

      { "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": { "StringEquals": { "oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:aud": "sts.amazonaws.com", "oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:sub": "system:serviceaccount:kube-system:ebs-csi-controller-sa" } } } ] }
    2. Erstellen Sie die -Rolle. Sie können AmazonEKS_EBS_CSI_DriverRole in einen anderen Namen ändern. Wenn Sie es ändern, ändern Sie es in späteren Schritten.

      aws iam create-role \ --role-name AmazonEKS_EBS_CSI_DriverRole \ --assume-role-policy-document file://"aws-ebs-csi-driver-trust-policy.json"
  3. Hängen Sie eine Richtlinie an. AWS verwaltet eine AWS verwaltete Richtlinie oder Sie können Ihre eigene benutzerdefinierte Richtlinie erstellen. Hängen Sie die AWS verwaltete Richtlinie mit dem folgenden Befehl an die Rolle an.

    aws iam attach-role-policy \ --policy-arn arn:aws: iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy \ --role-name AmazonEKS_EBS_CSI_DriverRole
  4. Wenn Sie einen benutzerdefinierten KMS-Schlüssel für die Verschlüsselung auf Ihren Amazon-EBS-Volumes verwenden, passen Sie die IAM-Rolle nach Bedarf an. Führen Sie beispielsweise folgende Schritte aus:

    1. Kopieren Sie den folgenden Code und fügen Sie diesen in eine neue kms-key-for-encryption-on-ebs.json-Datei ein. Ersetzen Sie custom-key-arn durch den benutzerdefinierten KMS-Schlüssel-ARN.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": ["custom-key-arn"], "Condition": { "Bool": { "kms:GrantIsForAWSResource": "true" } } }, { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": ["custom-key-arn"] } ] }
    2. Erstellen Sie die Richtlinie. Sie können KMS_Key_For_Encryption_On_EBS_Policy in einen anderen Namen ändern. In diesem Fall ändern Sie sie auch in den späteren Schritten.

      aws iam create-policy \ --policy-name KMS_Key_For_Encryption_On_EBS_Policy \ --policy-document file://kms-key-for-encryption-on-ebs.json
    3. Hängen Sie die IAM-Richtlinie mit dem folgenden Befehl an die Rolle an. Ersetzen Sie 111122223333 durch Ihre Konto-ID.

      aws iam attach-role-policy \ --policy-arn arn:aws: iam::111122223333:policy/KMS_Key_For_Encryption_On_EBS_Policy \ --role-name AmazonEKS_EBS_CSI_DriverRole

Nachdem Sie die IAM-Rolle des Amazon EBS CSI-Treibers erstellt haben, können Sie mit dem nächsten Abschnitt fortfahren. Wenn Sie das Add-on mit dieser IAM-Rolle bereitstellen, erstellt es ein benanntes Dienstkonto und ist für dessen Verwendung konfiguriert. ebs-csi-controller-sa Das Dienstkonto ist an ein Kubernetes-Konto gebunden, dem clusterrole die erforderlichen Kubernetes-Berechtigungen zugewiesen wurden.

Schritt 2: Holen Sie sich den Amazon EBS CSI-Treiber

Wir empfehlen, den Amazon EBS CSI-Treiber über das Amazon EKS-Add-on zu installieren, um die Sicherheit zu verbessern und den Arbeitsaufwand zu reduzieren. Wenn Sie ein Amazon-EKS-Add-on zu Ihrem Cluster hinzufügen möchten, lesen Sie Ein Amazon EKS-Add-on erstellen. Weitere Informationen zu Add-ons finden Sie unter Amazon-EKS-Add-ons.

Wichtig

Bevor Sie den Amazon EBS-Treiber als Amazon EKS-Add-on hinzufügen, stellen Sie sicher, dass Sie keine selbstverwaltete Version des Treibers auf Ihrem Cluster installiert haben. Falls ja, siehe Deinstallation eines selbstverwalteten Amazon-EBS-CSI-Treibers in  GitHub.

Wenn Sie alternativ eine selbstverwaltete Installation des Amazon EBS CSI-Treibers wünschen, finden Sie weitere Informationen unter Installation auf. GitHub

Schritt 3: Stellen Sie eine Beispielanwendung bereit

Sie können eine Vielzahl von Beispiel-Apps bereitstellen und diese nach Bedarf ändern. Weitere Informationen finden Sie unter Kubernetes-Beispiele unter. GitHub

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.