IBM Cloud Docs
AWS EFS

AWS EFS

Richten Sie Amazon Elastic File System(EFS) für Satellite ein, indem Sie eine Speicherkonfiguration an Ihrem Standort erstellen. Wenn Sie Ihren Clustern eine Speicherkonfiguration zuweisen, werden die Speichertreiber des ausgewählten Speicherproviders auf Ihrem Cluster installiert.

Zur Verwendung von AWS EFS-Speicher für Ihre Apps müssen sich Ihre Satellite-Hosts in AWS befinden. Bei dieser Speichervorlage wird nur die statische Einrichtung unterstützt. Sie müssen ein AWS EFS auf AWS manuell bereitstellen, bevor Sie Ihre Satellite Speicherkonfiguration erstellen. Stellen Sie sicher, dass sich die EFS-Einheit in derselben VPC und in demselben Teilnetz befindet, die Sie auch für Ihre AWS-Hosts verwendet haben, und dass Ihre Hosts und die EFS-Einheit dieselbe Sicherheitsgruppe verwenden.

Bevor Sie Speichervorlagen für Cluster an Ihrem Standort bereitstellen können, stellen Sie sicher, dass Sie Satellite Config einrichten, indem Sie die Option Clusteradministratorzugriff für Satellite Config aktivieren in der Konsole oder die Option --enable-config-admin beim Erstellen Ihres Clusters auswählen.

Sie können keinen Geltungsbereich für den Speicherservice Satellite auf Ressourcengruppen festlegen. Wenn Sie jedoch andere Ressourcen, wie z. B. die Position und den Cluster, Ressourcengruppen zuordnen, müssen Sie die Leserrolle und die Linkadministratorrolle Satellite für alle Ressourcen im Konto hinzufügen.

Voraussetzungen für die Verwendung von AWS EFS

Führen Sie die folgenden Tasks aus, um die AWS EFS-Speichervorlage zu verwenden:

  1. Erstellen Sie einen Satellite-Standort.

  2. Erstellen Sie einen Satellite-Cluster, der auf Rechenhosts in Amazon Web Services (AWS) ausgeführt wird. Stellen Sie sicher, dass Sie beim Erstellen des Clusters die Option Clusteradministratorzugriff für Satellite Config auswählen. Wenn Sie beim Erstellen Ihres Clusters den Administratorzugriff (admin) für Satellite Config nicht aktivieren, müssen Sie Ihren Cluster erneut erstellen und den Administratorzugriff aktivieren, bevor Sie Speicher bereitstellen können. Weitere Informationen zum Hinzufügen von Hosts zu AWS an Ihrem Satellite-Standort, sodass sie einem Cluster hinzugefügt werden können, finden Sie unter AWS-Hosts zu Satellite hinzufügen.

  3. Stellen Sie manuell ein AWS EFS in Ihrem AWS bereit. Stellen Sie sicher, dass sich die EFS-Einheit in derselben VPC und in demselben Teilnetz befindet, die Sie auch für Ihre AWS-Hosts verwendet haben, und dass Ihre Hosts und die EFS-Einheit dieselbe Sicherheitsgruppe verwenden.

Konfiguration in der Konsole erstellen und zuordnen

  1. Überprüfen Sie die Parameterreferenz.

  2. Wählen Sie in der Konsole Standorte den Standort aus, an dem Sie eine Speicherkonfiguration erstellen möchten.

  3. Wählen Sie Speicher > Speicherkonfiguration erstellen aus

  4. Geben Sie einen Namen für Ihre Konfiguration ein.

  5. Wählen Sie den Speichertyp.

  6. Wählen Sie die Version und klicken Sie auf Weiter

  7. Wenn der von Ihnen ausgewählte Speichertyp benutzerdefinierte Parameter akzeptiert, geben Sie sie auf der Registerkarte Parameter ein.

  8. Wenn der von Ihnen ausgewählte Speichertyp geheime Schlüssel erfordert, geben Sie sie auf der Registerkarte Geheime Schlüssel ein.

  9. Überprüfen Sie auf der Registerkarte Speicherklassen die Speicherklassen, die von der Konfiguration implementiert werden, oder erstellen Sie eine angepasste Speicherklasse. Für AWS EFS-Konfigurationen müssen Sie eine Speicherklasse hinzufügen, bevor Sie fortfahren.

  10. Wählen Sie auf der Registerkarte Service zuordnen den Service aus, dem Sie Ihre Konfiguration zuordnen wollen.

  11. Klicken Sie auf Abschließen, um Ihre Speicherkonfiguration zuzuordnen.

Konfiguration in der Befehlszeilenschnittstelle erstellen

  1. Überprüfen Sie die Parameterreferenz für die Vorlagenversion, die Sie verwenden wollen.

  2. Melden Sie sich bei der IBM Cloud-CLI an.

    ibmcloud login
    
  3. Listen Sie Ihre Satellite Standorte auf und notieren Sie die Spalte Managed from .

    ibmcloud sat location ls
    
  4. Wählen Sie die Region Managed from Ihrer Position Satellite aus. Beispiel: Für wdc -Ziel us-east. Weitere Informationen finden Sie unter Satellite Regionen.

    ibmcloud target -r us-east
    
  5. Wenn Sie eine andere Ressourcengruppe als defaultverwenden, wählen Sie sie aus.

    ibmcloud target -g <resource-group>
    
  6. Kopieren Sie einen der folgenden Beispielbefehle für die Vorlagenversion, die Sie verwenden möchten. Weitere Informationen zu dem Befehl finden Sie unter ibmcloud sat storage config create in der Befehlsreferenz.

    Beispielbefehl zum Erstellen einer Konfiguration der Version 1.3.1.

    ibmcloud sat storage config create --location LOCATION --name NAME --template-name aws-efs-csi-driver --template-version 1.3.1 --param "aws-access-key=AWS-ACCESS-KEY"  --param "aws-secret-access-key=AWS-SECRET-ACCESS-KEY"
    

    Beispielbefehl zum Erstellen einer Konfiguration der Version 1.3.7.

    ibmcloud sat storage config create --location LOCATION --name NAME --template-name aws-efs-csi-driver --template-version 1.3.7 --param "aws-access-key=AWS-ACCESS-KEY"  --param "aws-secret-access-key=AWS-SECRET-ACCESS-KEY"
    

    Beispielbefehl zum Erstellen einer Konfiguration mit Version 1.4.2.

    ibmcloud sat storage config create --location LOCATION --name NAME --template-name aws-efs-csi-driver --template-version 1.4.2 --param "aws-access-key=AWS-ACCESS-KEY"  --param "aws-secret-access-key=AWS-SECRET-ACCESS-KEY"
    

    Beispielbefehl zum Erstellen einer Konfiguration mit Version 2.0.3.

    ibmcloud sat storage config create --location LOCATION --name NAME --template-name aws-efs-csi-driver --template-version 2.0.3 --param "aws-access-key=AWS-ACCESS-KEY"  --param "aws-secret-access-key=AWS-SECRET-ACCESS-KEY"
    
  7. Passen Sie den Befehl basierend auf den Einstellungen an, die Sie verwenden möchten.

  8. Führen Sie den Befehl aus, um eine Konfiguration zu erstellen.

  9. Überprüfen Sie, ob Ihre Konfiguration erstellt wurde.

    ibmcloud sat storage config get --config CONFIG
    

Konfiguration in der API erstellen

  1. Generieren Sie einen API-Schlüssel und fordern Sie anschließend ein Aktualisierungstoken an. Weitere Informationen finden Sie im Abschnitt zur Generierung eines IBM Cloud IAM-Token mithilfe eines API-Schlüssels.

  2. Überprüfen Sie die Parameterreferenz für die Vorlagenversion, die Sie verwenden wollen.

  3. Kopieren Sie eine der folgenden Beispielanforderungen und ersetzen Sie die Variablen, die Sie verwenden möchten.

    Beispielanforderung zum Erstellen einer Konfiguration der Version 1.3.1.

    curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createStorageConfigurationByController" -H "accept: application/json" -H "Authorization: TOKEN" -H "Content-Type: application/json" -d "{ \"config-name\": \"string\", \"controller\": \"string\", \"storage-class-parameters\": [ { \"additionalProp1\": \"string\", \"additionalProp2\": \"string\", \"additionalProp3\": \"string\" } ], \"storage-template-name\": \"aws-efs-csi-driver\", \"storage-template-version\": \"1.3.1\", \"update-assignments\": true, \"user-config-parameters\":\"user-secret-parameters\": { \"entry.name\": \"AWS-ACCESS-KEY\",{ \"entry.name\": \"AWS-SECRET-ACCESS-KEY\",}
    

    Beispielanforderung zum Erstellen einer Konfiguration der Version 1.3.7.

    curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createStorageConfigurationByController" -H "accept: application/json" -H "Authorization: TOKEN" -H "Content-Type: application/json" -d "{ \"config-name\": \"string\", \"controller\": \"string\", \"storage-class-parameters\": [ { \"additionalProp1\": \"string\", \"additionalProp2\": \"string\", \"additionalProp3\": \"string\" } ], \"storage-template-name\": \"aws-efs-csi-driver\", \"storage-template-version\": \"1.3.7\", \"update-assignments\": true, \"user-config-parameters\":\"user-secret-parameters\": { \"entry.name\": \"AWS-ACCESS-KEY\",{ \"entry.name\": \"AWS-SECRET-ACCESS-KEY\",}
    

    Beispielanforderung zum Erstellen einer Konfiguration der Version 1.4.2.

    curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createStorageConfigurationByController" -H "accept: application/json" -H "Authorization: TOKEN" -H "Content-Type: application/json" -d "{ \"config-name\": \"string\", \"controller\": \"string\", \"storage-class-parameters\": [ { \"additionalProp1\": \"string\", \"additionalProp2\": \"string\", \"additionalProp3\": \"string\" } ], \"storage-template-name\": \"aws-efs-csi-driver\", \"storage-template-version\": \"1.4.2\", \"update-assignments\": true, \"user-config-parameters\":\"user-secret-parameters\": { \"entry.name\": \"AWS-ACCESS-KEY\",{ \"entry.name\": \"AWS-SECRET-ACCESS-KEY\",}
    

    Beispielanforderung zum Erstellen einer Konfiguration der Version 2.0.3.

    curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createStorageConfigurationByController" -H "accept: application/json" -H "Authorization: TOKEN" -H "Content-Type: application/json" -d "{ \"config-name\": \"string\", \"controller\": \"string\", \"storage-class-parameters\": [ { \"additionalProp1\": \"string\", \"additionalProp2\": \"string\", \"additionalProp3\": \"string\" } ], \"storage-template-name\": \"aws-efs-csi-driver\", \"storage-template-version\": \"2.0.3\", \"update-assignments\": true, \"user-config-parameters\":\"user-secret-parameters\": { \"entry.name\": \"AWS-ACCESS-KEY\",{ \"entry.name\": \"AWS-SECRET-ACCESS-KEY\",}
    

Erstellen eines Auftrags in der CLI

  1. Listen Sie Ihre Speicherkonfigurationen auf und notieren Sie sich die Speicherkonfiguration, die Sie Ihren Clustern zuweisen möchten.

    ibmcloud sat storage config ls
    
  2. Ermitteln Sie die ID des Clusters, der Clustergruppe oder des Dienstes, dem Sie Speicher zuweisen möchten.

    Um sicherzustellen, dass Ihr Cluster bei Satellite Config oder zum Erstellen von Gruppen registriert ist, lesen Sie die Informationen im Abschnitt Cluster für die Verwendung mit Satellite Configeinrichten.

    Beispielbefehl zum Auflisten von Clustergruppen.

    ibmcloud sat group ls
    

    Beispielbefehl zum Auflisten von Clustern.

    ibmcloud oc cluster ls --provider satellite
    

    Beispielbefehl zum Auflisten von Satellite-Services.

    ibmcloud sat service ls --location <location>
    
  3. Ordnen Sie Ihre Speicherkonfiguration dem Cluster, der Gruppe bzw. dem Service zu, den Sie zuvor abgerufen haben. Weitere Informationen finden Sie unter dem Befehl' ibmcloud sat storage assignment create.

    Beispielbefehl zum Zuordnen einer Konfiguration zu einer Clustergruppe.

    ibmcloud sat storage assignment create --group GROUP --config CONFIG --name NAME
    

    Beispielbefehl für die Zuordnung einer Konfiguration zu einem Cluster

    ibmcloud sat storage assignment create --cluster CLUSTER --config CONFIG --name NAME
    

    Beispielbefehl zum Zuordnen einer Konfiguration zu einem Service-Cluster.

    ibmcloud sat storage assignment create --service-cluster-id CLUSTER --config CONFIG --name NAME
    
  4. Überprüfen Sie, ob Ihre Zuweisung erstellt wurde.

    ibmcloud sat storage assignment ls (--cluster CLUSTER | --config CONFIG | --location LOCATION | --service-cluster-id CLUSTER)
    

Speicherzuordnung in der API erstellen

  1. Kopieren Sie eine der folgenden Beispielanforderungen:

    Beispielanforderung zum Zuordnen einer -Konfiguration zu einem Cluster.

    curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createAssignmentByCluster" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d "{ \"channelName\": \"CONFIGURATION-NAME\", \"cluster\": \"CLUSTER-ID\", \"controller\": \"LOCATION-ID\", \"name\": \"ASSIGNMENT-NAME\"}"
    

    Beispielanforderung zum Zuordnen der Konfiguration zu einer Clustergruppe.

    curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createAssignment" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d "{ \"channelName\": \"CONFIGURATION-NAME\", \"cluster\": \"string\", \"groups\": [ \"CLUSTER-GROUP\" ], \"name\": \"ASSIGNMENT-NAME\"}"
    
  2. Ersetzen Sie die Variablen durch Ihre Details und führen Sie die Anforderung aus.

  3. Überprüfen Sie, ob die Zuordnung erstellt wurde, indem Sie Ihre Zuordnungen auflisten.

    curl -X GET "https://containers.cloud.ibm.com/global/v2/storage/satellite/getAssignments" -H "accept: application/json" -H "Authorization: Bearer TOKEN"
    

Speicherzuordnungen in der Konsole aktualisieren

Sie können die Satellite-Konsole verwenden, um die neuesten Patchaktualisierungen auf Ihre Zuordnungen anzuwenden.

  1. Wählen Sie auf der Seite Positionen in der Satellite-KonsoleIhren Standort aus.

  2. Klicken Sie auf die Registerkarte Speicher, um Ihre Konfigurationen anzuzeigen.

  3. Klicken Sie auf die Konfiguration, die Sie aktualisieren möchten.

  4. Klicken Sie auf das Informationssymbol Informationen (i), um die letzte Überarbeitung oder Programmkorrektur anzuwenden.

  5. Optional: Aktivieren Sie automatische Patchaktualisierungen für Ihre Speicherzuordnung. Die Aktivierung automatischer Patchaktualisierungen stellt sicher, dass Ihre Zuordnung immer über die neuesten Sicherheitskorrekturen verfügt.

Wenn Sie automatische Patchaktualisierungen aktivieren, müssen Sie die Hauptaktualisierungen dennoch manuell anwenden.

Zuordnungen in der Befehlszeilenschnittstelle manuell aktualisieren

Aktualisieren Sie eine Zuordnung, um die neueste Speichervorlagenrevision zu verwenden.

  1. Listen Sie Ihre Satellite-Speicherzuordnungen auf und notieren Sie sich die Satellite-Zuordnung, für die Sie ein Upgrade durchführen möchten.

    ibmcloud sat storage assignment ls
    
  2. Listen Sie die Satellite-Speichervorlagen auf, um die neuesten verfügbaren Versionen anzuzeigen.

    ibmcloud sat storage template ls
    
  3. Aktualisieren Sie die Satellite-Zuordnung.

    Beispielbefehl für das Upgrade einer Zuordnung.

    ibmcloud sat storage assignment upgrade --assignment ASSIGNMENT
    

Automatische Patchaktualisierungen für Konfigurationen und Zuordnungen in der Befehlszeilenschnittstelle aktivieren

Sie können die sat storage assignment autopatch enable-CLI verwenden, um automatische Patchaktualisierungen für Ihre Zuordnungen zu aktivieren. Durch die Aktivierung automatischer Patchaktualisierungen werden die neuesten Speichervorlagenrevisionen (Patches) automatisch angewendet. Sie müssen wichtige Aktualisierungen dennoch manuell anwenden.

  1. Listen Sie Ihre Satellite-Speicherkonfigurationen auf. Notieren Sie sich die Konfigurations-ID.

    ibmcloud sat storage assignment ls
    
  2. Führen Sie einen der folgenden Beispielbefehle aus, um automatische Patchaktualisierungen für Ihre Konfiguration und die zugehörigen Zuordnungen zu aktivieren. Geben Sie die Konfigurations-ID ein, die Sie im vorherigen Schritt abgerufen haben.

    Beispielbefehl zum Aktivieren automatischer Patchaktualisierungen für eine Zuordnung.

    ibmcloud sat storage assignment autopatch enable --config CONFIG  (--all | --assignment ASSIGNMENT-ID [--assignment ASSIGNMENT-ID])
    

    Beispielbefehl zum Aktivieren automatischer Patchaktualisierungen für alle Speicherzuordnungen in einer bestimmten Konfiguration.

    ibmcloud sat storage assignment autopatch enable --config CONFIG --all
    

    Beispielbefehl zum Inaktivieren der automatischen Patchaktualisierungen für alle Zuordnungen in einer bestimmten Konfiguration.

    ibmcloud sat storage assignment autopatch disable --config CONFIG --all
    

    Beispielbefehl zum Inaktivieren von automatischen Patchaktualisierungen für eine einzelne Zuordnung und eine bestimmte Konfiguration

    ibmcloud sat storage assignment autopatch disable --config CONFIG --assignment ASSIGNMENT-ID
    

    Beispielbefehl zum Inaktivieren automatischer Patchaktualisierungen für eine Mehrfachzuordnung und eine bestimmte Konfiguration.

    ibmcloud sat storage assignment autopatch disable --config CONFIG --assignment ASSIGNMENT-ID --assignment ASSIGNMENT-ID
    

Upgrade für Konfiguration und Zuordnungen in der API durchführen

Sie können die /v2/storage/satellite/updateAssignment-API verwenden, um Ihre Zuordnungen mit neuen Clustern oder Clustergruppen zu aktualisieren. Setzen Sie updateConfigVersion auf true, um die Revisionsaktualisierung anzuwenden.

  1. Kopieren Sie die folgende Beispielanforderung und ersetzen Sie die Variablen für die Clustergruppen und Zuordnungen, die Sie aktualisieren wollen.

    curl -X PATCH "https://containers.cloud.ibm.com/global/v2/storage/satellite/updateAssignment" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d "{ \"groups\": [ \"CLUSTER-GROUPS\" ], \"name\": \"ASSIGNMENT-NAME\", \"updateConfigVersion\": true, \"uuid\": \"ASSIGNMENT-ID\"}"
    
  2. Führen Sie die Anforderung aus.

  3. Rufen Sie die Details Ihrer Zuordnung ab, um die Aktualisierung zu überprüfen.

    curl -X GET "https://containers.cloud.ibm.com/global/v2/storage/satellite/getAssignment?uuid=ASSIGNMENT-ID" -H "accept: application/json" -H "Authorization: Bearer TOKEN"
    

Automatische Patchaktualisierungen für Zuordnungen in der API aktivieren

Sie können die /v2/storage/satellite/setAssignmentAutoupgrade-API verwenden, um automatische Patchaktualisierungen für Ihre Zuordnungen zu aktivieren. Durch die Aktivierung automatischer Patchaktualisierungen werden die neuesten Speichervorlagenrevisionen (Patches) automatisch angewendet. Sie müssen wichtige Aktualisierungen dennoch manuell anwenden.

  1. Kopieren Sie die folgende Beispielanforderung und ersetzen Sie die Variablen für die Clustergruppen und Zuordnungen, die Sie aktualisieren wollen.

    curl -X PATCH "https://containers.cloud.ibm.com/global/v2/storage/satellite/setAssignmentAutoupgrade" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d { "config": "string", "controller": "string", "autopatch": boolean,"assignment" : { "all": boolean, "uuid": ["string", "string", ...], } }
    
  2. Führen Sie die Anforderung aus.

  3. Rufen Sie die Details Ihrer Zuordnung ab, um das Upgrade zu überprüfen.

    curl -X GET "https://containers.cloud.ibm.com/global/v2/storage/satellite/getAssignment?uuid=ASSIGNMENT-ID" -H "accept: application/json" -H "Authorization: Bearer TOKEN"
    

Angepasste Speicherklasse AWS EFS zu Ihrer Konfiguration hinzufügen

Nachdem Sie eine Satellite-Speicherkonfiguration erstellen, können Sie mit dem Befehl ibmcloud sat config sc add eine angepasste Speicherklasse hinzufügen.

Sie können Satellite-Speicherkonfigurationen keine Speicherklassen hinzufügen, nachdem die Konfigurationen Clustern oder Clustergruppen zugewiesen wurden. Stellen Sie sicher, dass Sie Speicherklassen hinzufügen, bevor Sie Ihre Konfiguration zuweisen.

  1. Listen Sie die Speicherklassenparameter für die Vorlage auf, mit der Sie Ihre Konfiguration erstellt haben, und entscheiden Sie, wie Sie Ihre Speicherklasse erstellen möchten.

    ibmcloud sat storage template get --name aws-efs-csi-driver --version <version>
    
  2. Erstellen Sie die Speicherklasse und übergeben Sie alle angepassten Parameter. Geben Sie den Namen der Speicherkonfiguration, die Sie zuvor erstellt haben, den Namen der Speicherklasse und die angepassten Parameter ein, die Sie angeben wollen.

    ibmcloud sat storage config sc add --config-name <config-name> --name <storage-class-name> --param "key=value"
    
    basePath
    Geben Sie den Basispfad an. Basispfad ist ein Pfad im Dateisystem, unter dem das Stammverzeichnis des Zugangspunkts erstellt wird.
    directoryPerms
    Geben Sie Verzeichnisberechtigungen an. Standardwert: 700.
    fileSystemId
    Erforderlich. Geben Sie die EFS-Dateisystem-ID an.
    gidRangeEnd
    Geben Sie das Ende des GID-Bereichs an. gidRangeEnd ist der Endbereich der POSIX-Gruppen-ID. Standardwert: 7000000.
    gidRangeStart
    Geben Sie den Anfang des GID-Bereichs an. gidRangeStart ist der Startbereich der POSIX-Gruppen-ID, die auf das Stammverzeichnis des Zugriffspunkts angewendet werden soll. Standardwert: 50000.
    is-default-class
    Geben Sie true oder false an, um die erstellte Speicherklasse zur Standardklasse zu machen.
    name
    Erforderlich. Der Name der Speicherklasse.

    Beispielbefehl zum Hinzufügen einer angepassten Speicherklasse zu einem Konfigurationsaufruf my-config.

    ibmcloud sat storage config sc add --config-name my-config --name my-sc --param "fileSystemID=<filesystemID>" --param "is-default-class=true"
    
  3. Führen Sie die folgenden Schritte aus, um Ihre Speicherkonfiguration Ihren Clustern zuzuordnen.

App bereitstellen, die AWS EFS-Speicher verwendet

Sie können efs-csi-driver verwenden, um AWS EFS-Speicher für die Apps in Ihren Clustern statisch einzurichten.

Before you begin, make sure that you eine AWS EFS Instanz erstellt in your AWS account.The EFS device must be in the same VPC and subnet that you used for your AWS hosts, and your hosts and EFS device must use the same security group.

  1. Suchen Sie in der AWS EFS das Dateisystem, das Sie für Ihre Anwendungen verwenden möchten, und notieren Sie die Dateisystem-ID.

  2. Erstellen Sie einen persistenten Datenträger (PV - Persistent Volume), der auf die Dateisystem-ID Ihrer AWS EFS-Instanz verweist.

    1. Erstellen Sie eine YAML-Konfigurationsdatei für Ihren PV und geben Sie die Dateisystem-ID in das Feld csi.volumeHandle ein.
      apiVersion: v1
      kind: PersistentVolume
      metadata:
        name: efs
      spec:
        capacity:
        storage: 5Gi
        volumeMode: Filesystem
        accessModes:
        - ReadWriteOnce
        persistentVolumeReclaimPolicy: Retain
        storageClassName: # Enter the name of the custom storage class that you created earlier
        csi:
        driver: efs.csi.aws.com
        volumeHandle: <aws_efs_fileshare_ID>
      
    2. Erstellen Sie den persistenten Datenträger (PV) in Ihrem Cluster.
      oc apply -f pv.yaml
      
    3. Überprüfen Sie, dass das PV erstellt wurde. Beachten Sie, dass der PV im Status 'Verfügbar' (Available) verbleibt, da noch keine entsprechende PVC gefunden wird.
      oc get pv
      
      Beispielausgabe
      NAME   CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS        CLAIM        STORAGECLASS           REASON   AGE
      efs    5Gi        RWO            Retain           Available                  sat-aws-file-gold               34m
      
  3. Erstellen Sie eine Anforderung für persistenten Datenträger (PVC - Persistent Volume Claim), die dem erstellten PV entspricht.

    1. Erstellen Sie eine YAML-Konfigurationsdatei für Ihre PVC. Damit die PVC dem PV entspricht, müssen Sie dieselben Werte für die Speicherklasse und die Größe des Speichers verwenden.
      apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        name: efs
      spec:
        accessModes:
        - ReadWriteOnce
        storageClassName: # Enter the custom storage class that you created earlier.
        resources:
        requests:
          storage: 5Gi
      
    2. Erstellen Sie die PVC in Ihrem Cluster.
      oc apply -f pvc.yaml
      
    3. Überprüfen Sie, ob die PVC erstellt wurde. Stellen Sie sicher, dass die PVC den Status 'Gebunden' (Bound) hat und dass der Name des PV, den Sie zuvor erstellt haben, in der Spalte VOLUME aufgeführt wird.
      oc get pvc
      
      Beispielausgabe
      NAME      STATUS        VOLUME     CAPACITY   ACCESS MODES   STORAGECLASS        AGE
      efs       Bound         efs        5Gi        RWO            sat-aws-file-gold   36m
      
  4. Erstellen Sie eine YAML-Konfigurationsdatei für einen Pod, an den der von Ihnen erstellte PVC angehängt wird. Im folgenden Beispiel wird ein Pod nginx erstellt, der das aktuelle Datum und die aktuelle Uhrzeit in eine Datei test.txt im Mountpfad Ihres AWS EFS-Datenträgers schreibt.

    apiVersion: v1
    kind: Pod
    metadata:
      name: app
    spec:
      containers:
       - name: app
      image: nginx
      command: ["/bin/sh"]
      args: ["-c", "while true; do echo $(date -u) >> /test/test.txt; sleep 5; done"]
      volumeMounts:
      - name: persistent-storage
        mountPath: /test
      volumes:
      - name: persistent-storage
      persistentVolumeClaim:
        claimName: efs
    
  5. Erstellen Sie den Pod in Ihrem Cluster.

    oc apply -f pod.yaml
    
  6. Überprüfen Sie, ob der Pod bereitgestellt wurde. Beachten Sie, dass es einige Minuten dauern kann, bis Ihre App in den Status 'Aktiv' (Running) wechselt.

    oc get pods
    

    Beispielausgabe

    NAME                                READY   STATUS    RESTARTS   AGE
    app                                 1/1     Running   0          2m58s
    
  7. Überprüfen Sie, ob die App auf Ihre AWS EFS-Instanz schreiben kann.

    1. Melden Sie sich bei Ihrem Pod an.
      oc exec <app-pod-name> -it bash
      
    2. Zeigen Sie den Inhalt der Datei test.txt an, um sich zu vergewissern, dass Ihre App Daten auf Ihren persistenten Speicher schreiben kann.
      cat /test/test.txt
      
      Beispielausgabe
      Tue Mar 2 20:09:19 UTC 2021
      Tue Mar 2 20:09:25 UTC 2021
      Tue Mar 2 20:09:31 UTC 2021
      Tue Mar 2 20:09:36 UTC 2021
      Tue Mar 2 20:09:42 UTC 2021
      Tue Mar 2 20:09:47 UTC 2021
      
    3. Verlassen Sie den Pod.
      exit
      
  8. Suchen Sie in der AWS EFS das von Ihnen verwendete Dateisystem und überprüfen Sie, ob das Dateisystem an Größe zunimmt.

AWS EFS-Speicher aus den Apps entfernen

Wenn Sie Ihre AWS EFS-Instanz nicht mehr benötigen, können Sie Ihre PVC, Ihren PV und Ihre AWS EFS-Instanz aus Ihrem AWS-Konto entfernen.

Durch das Entfernen der AWS EFS-Instanz werden alle Daten entfernt, die auf dieser Instanz gespeichert sind. Diese Aktion kann nicht rückgängig gemacht werden. Stellen Sie sicher, dass Sie Ihre Daten sichern, bevor Sie die AWS EFS-Instanz löschen.

  1. Listen Sie Ihre PVCs auf und notieren Sie den Namen der PVC und des entsprechenden PV, die Sie entfernen wollen.
    oc get pvc
    
  2. Entfernen Sie alle Pods, die den Persistent Volume Claim anhängen.
    1. Listen Sie alle Pods auf, die derzeit den PVC anhängen, den Sie löschen möchten. Wenn keine Pods zurückgegeben werden, haben Sie keine Pods, die Ihre PVC zurzeit verwenden.
      oc get pods --all-namespaces -o=jsonpath='{range .items[*]}{"\n"}{.metadata.name}{":\t"}{range .spec.volumes[*]}{.persistentVolumeClaim.claimName}{" "}{end}{end}' | grep "<pvc_name>"
      
      Beispielausgabe
      app    sat-aws-block-bronze
      
    2. Entfernen Sie den Pod, der den PVC verwendet. Wenn der Pod Teil einer Bereitstellung ist, entfernen Sie die Bereitstellung.
      oc delete pod <pod_name>
      
      oc delete deployment <deployment_name>
      
    3. Überprüfen Sie, ob der Pod bzw. die Bereitstellung entfernt wurde.
      oc get pods
      
      oc get deployments
      
  3. Löschen Sie die PVC. Da Sie den AWS EFS-Speicher statisch eingerichtet haben, wird durch das Löschen der PVC weder der PV noch die AWS EFS-Instanz in Ihrem AWS-Konto gelöscht.
    oc delete pvc <pvc_name>
    
  4. Löschen Sie den entsprechenden PV.
    oc delete pv <pv_name>
    
  5. Wählen Sie in der AWS EFS das Dateisystem, das Sie löschen möchten, und klicken Sie auf Löschen.

AWS EFS-Speicherkonfiguration aus dem Cluster entfernen

Wenn Sie nicht länger beabsichtigen, AWS EFS-Speicher in Ihrem Cluster zu verwenden, können Sie die Zuweisung Ihres Clusters zu der Speicherkonfiguration aufheben.

Wenn Sie die Speicherkonfiguration entfernen, wird der Treiber anschließend aus allen zugeordneten Clustern deinstalliert. aus allen zugeordneten Clustern. Ihre PVCs, PVs und Daten werden nicht entfernt. Allerdings können Sie auf Ihre Daten möglicherweise erst dann wieder zugreifen, wenn Sie den Treiber in Ihrem Cluster erneut installieren.

AWS EFS-Speicherkonfiguration aus der Konsole entfernen

Verwenden Sie die Konsole, um eine Speicherkonfiguration zu entfernen.

Beachten Sie, dass Sie Ihre Speicherzuordnungen löschen müssen, bevor Sie Ihre Speicherkonfiguration löschen können.

  1. Wählen Sie im Dashboard für den Satellite-Speicher die Speicherkonfiguration aus, die gelöscht werden soll.
  2. Wählen Sie Aktionen > Löschen aus
  3. Geben Sie den Namen Ihrer Speicherkonfiguration ein.
  4. Wählen Sie Löschen aus.

AWS EFS-Speicherkonfiguration über die Befehlszeilenschnittstelle entfernen

Verwenden Sie die CLI, um eine Speicherkonfiguration zu entfernen.

Beachten Sie, dass Sie Ihre Speicherzuordnungen löschen müssen, bevor Sie Ihre Speicherkonfiguration löschen können.

  1. Listen Sie Ihre Speicherzuweisungen auf und ermitteln Sie diejenige, die für Ihren Cluster verwendet wurde.
    ibmcloud sat storage assignment ls (--cluster CLUSTER | --config CONFIG | --location LOCATION | --service-cluster-id CLUSTER)
    
  2. Entfernen Sie die Zuweisung. Wenn die Zuweisung entfernt wird, werden die AWS EFS-Treiberpods und die Speicherklasse aus allen Clustern entfernt, die Teil der Speicherzuweisung waren.
    ibmcloud sat storage assignment rm --assignment <assignment_ID>
    
  3. Überprüfen Sie, ob der AWS EFS-Treiber aus dem Cluster entfernt wurde.
    1. Listen Sie die Speicherklassen in Ihrem Cluster auf und überprüfen Sie, ob die AWS-EFS-Speicherklasse entfernt wurde.
      oc get sc
      
    2. Listen Sie die Pods im Namensbereich kube-system auf und überprüfen Sie, ob die AWS EFS-Speichertreiberpods entfernt wurden.
      oc get pods -n kube-system
      
  4. Optional: Entfernen Sie die Speicherkonfiguration.
    1. Listen Sie die Speicherkonfigurationen auf.
      ibmcloud sat storage config ls
      
    2. Entfernen Sie die Speicherkonfiguration.
      ibmcloud sat storage config rm --config <config_name>
      

Parameterreferenz

1.3.1 Parameterreferenz

1.1.3.1 Parameter-Referenz
Anzeigename CLI-Option Typ Beschreibung Erforderlich? Standardwert
ID des AWS-Zugriffsschlüssels aws-access-key Secret ID des AWS-Zugriffsschlüssels. Ja Nicht zutreffend
Geheimer AWS-Zugriffsschlüssel aws-secret-access-key Secret Geheimer AWS -Zugriffsschlüssel. Ja Nicht zutreffend

1.3.7 Parameterreferenz

1.1.3.7 Parameter-Referenz
Anzeigename CLI-Option Typ Beschreibung Erforderlich? Standardwert
ID des AWS-Zugriffsschlüssels aws-access-key Secret ID des AWS-Zugriffsschlüssels. Ja Nicht zutreffend
Geheimer AWS-Zugriffsschlüssel aws-secret-access-key Secret Geheimer AWS -Zugriffsschlüssel. Ja Nicht zutreffend

1.4.2 Parameterreferenz

1.1.4.2 Parameter-Referenz
Anzeigename CLI-Option Typ Beschreibung Erforderlich? Standardwert
ID des AWS-Zugriffsschlüssels aws-access-key Secret ID des AWS-Zugriffsschlüssels. Ja Nicht zutreffend
Geheimer AWS-Zugriffsschlüssel aws-secret-access-key Secret Geheimer AWS -Zugriffsschlüssel. Ja Nicht zutreffend

2.0.3 Parameterreferenz

2.2.0.3 Parameter-Referenz
Anzeigename CLI-Option Typ Beschreibung Erforderlich? Standardwert
ID des AWS-Zugriffsschlüssels aws-access-key Secret ID des AWS-Zugriffsschlüssels. Ja Nicht zutreffend
Geheimer AWS-Zugriffsschlüssel aws-secret-access-key Secret Geheimer AWS -Zugriffsschlüssel. Ja Nicht zutreffend

Hilfe und Unterstützung für AWS EFS anfordern

Wenn Sie AWS EFS-Speicher verwenden, probieren Sie die folgenden Ressourcen aus, bevor Sie einen Supportfall öffnen.

  1. Lesen Sie die häufig gestellten Fragen im AWS Knowledge Center.
  2. Lesen Sie die Dokumentation zur Fehlerbehebung, um allgemeine Probleme zu beheben und zu beheben.
  3. Überprüfen Sie den Status der IBM Cloud Plattform und der Ressourcen, indem Sie die Seite Status aufrufen.
  4. Überprüfen Sie Stack Overflow, um festzustellen, ob andere Benutzer dasselbe Problem hatten. Versehen Sie Fragen mit den Tags ibm-cloud und AWS-EFS.
  5. Suchen Sie im AWS Support Center nach detaillierteren Unterstützungsoptionen.