Operator für lokalen Speicher - Dateispeicher

Einrichten von persistenter Speicherung mithilfe lokaler Volumes für IBM Cloud Satellite® clusters.You können die Speichervorlagen unter Satellite verwenden, um Speicherkonfigurationen zu erstellen. Wenn Sie Ihren Clustern eine Speicherkonfiguration zuweisen, werden die Speichertreiber des ausgewählten Speicherproviders auf Ihrem Cluster installiert.

Wenn Sie eine Speicherkonfiguration für lokalen Dateispeicher erstellen, geben Sie die lokalen Speichereinheiten an, die Sie als persistente Datenträger (PVs - Persistent Volumes) in Ihren Clustern verfügbar machen wollen. Nach der Zuweisung der Speicherkonfiguration zu einem Cluster stellt Satellite den Operator für lokalen Speicher bereit, der die lokalen Platten anhängt, die Sie in der Konfiguration angegeben haben. Der Operator erstellt weiterhin die persistenten Datenträger (PVs) mit dem Dateisystemtyp, den Sie angegeben haben, und erstellt die Speicherklasse sat-local-file-gold, mit deren Hilfe Sie Anforderungen für persistente Datenträger (Persistent Volumes Claims - PVCs) erstellen können. Anschließend können Sie in Ihren Kubernetes-Workloads auf diese PVCs verweisen.

Bevor Sie Speichervorlagen in Clustern an Ihrem Standort bereitstellen können, müssen Sie Satellite Config einrichten, indem Sie in der Konsole die Option Enable cluster admin access for Satellite Config (Cluster-Administrationszugriff für Config aktivieren ) auswählen oder bei der Erstellung Ihres Clusters die Option --enable-config-admin angeben.

Sie können den Satellite Speicherdienst nicht auf Ressourcengruppen ausweiten. Wenn Sie jedoch andere Ressourcen wie Standorte und Cluster zu Ressourcengruppen zusammenfassen, müssen Sie Satellite reader und link administrator role für alle Ressourcen im Konto hinzufügen.

Voraussetzungen für lokalen Dateispeicher

Bevor Sie eine Speicherkonfiguration für lokalen Dateispeicher erstellen können, müssen Sie die Workerknoten in Ihren Clustern ermitteln, die die erforderlichen verfügbaren Platten haben. Versehen Sie diese Workerknoten anschließend mit Bezeichnungen (Labels), sodass die Treiber für lokalen Speicher nur auf diesen Workerknoten installiert werden.

  1. Erstellen Sie einen Satellite-Standort.

  2. Wenn Sie keine Cluster an Ihrem Standort haben, erstellen Sie einen Red Hat OpenShift on IBM Cloud-Cluster oder ordnen Sie vorhandene Red Hat OpenShift on IBM Cloud-Cluster Ihrem Standort zu. Stellen Sie sicher, dass die Workerknoten in Ihrem Cluster, die Sie in Ihrer Speicherkonfiguration verwenden wollen, mindestens eine lokale Platte zusätzlich zu den Platten haben, die für Satellite erforderlich sind. Die zusätzlichen Platten müssen unformatiert sein.

  3. Rufen Sie die Einheitendetails Ihrer Workerknoten ab.

  4. Versehen Sie die Workerknoten mit einer Bezeichnung, die eine verfügbare Platte haben und die Sie in Ihrer Konfiguration verwenden wollen. Die lokalen Speichertreiber werden nur auf den markierten Worker-Knoten installiert.

Einheitendetails für die Speicherkonfiguration des lokalen Dateispeichers abrufen

Wenn Sie Ihre Dateispeicherkonfiguration erstellen, müssen Sie die Einheiten angeben, die Sie verwenden wollen. Die Einheitenpfade, die Sie in den folgenden Schritten abrufen, werden bei der Erstellung Ihrer Konfiguration als Parameter angegeben.

  1. Melden Sie sich bei Ihrem Cluster an und rufen Sie eine Liste der verfügbaren Workerknoten ab. Notieren Sie die Workerknoten, die Sie in Ihrer Konfiguration verwenden wollen.

    oc get nodes
    
  2. Melden Sie sich bei jedem Workerknoten an, den Sie für die Speicherkonfiguration Ihres lokalen Speichers verwenden wollen.

    oc debug node/<node-name>
    
  3. Wenn der Debug-Pod auf dem Workerknoten bereitgestellt wurde, führen Sie die folgenden Befehle aus, um die verfügbaren Platten auf dem Workerknoten aufzulisten.

    1. Lassen Sie Host-Binärdateien zu.
        chroot /host
        ```
    2. Listen Sie Ihre Geräte auf.
    
    ```sh {: pre}
        lsblk
        ```
    3. Rufen Sie die Details zu Ihren Einheiten ab. Vergewissern Sie sich, dass die Einheiten, die Sie verwenden wollen, nicht angehängt und unformatiert sind.
    
    ```sh {: pre}
        fdisk -l
        ```
    
  4. Prüfen Sie die Befehlsausgabe auf verfügbare Platten. Sie müssen nicht angehängte Platten für die lokale Speicherkonfiguration verwenden. In der folgenden Beispielausgabe für den Befehl lsblk ist die Platte xvdc nicht angehängt und hat keine Partitionen.

    NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    xvda    202:0    0  100G  0 disk
    |-xvda1 202:1    0    1G  0 part /boot
    `-xvda2 202:2    0   99G  0 part /
    xvdb    202:16   0    2G  0 disk
    `-xvdb1 202:17   0    2G  0 part
    xvdc    202:32   0   100G  0 disk
    xvde    202:64   0   50G  0 disk /var/data
    xvdh    202:112  0   64M  0 disk
    
  5. Wiederholen Sie die vorherigen Schritte für jeden Workerknoten, den Sie für die Speicherkonfiguration Ihres lokalen Dateispeichers verwenden wollen.

Workerknoten bei Verwendung von lokalem Dateispeicher kennzeichnen

Nachdem Sie die Einheitenpfade für die Platten abgerufen haben, die Sie in Ihrer Konfiguration verwenden wollen, versehen Sie die Workerknoten, auf denen sich die Platten befinden, mit Bezeichnungen (Labels).

  1. Rufen Sie die IP-Adressen der Workerknoten ab.

    oc get nodes
    
  2. Versehen Sie die Workerknoten, die Sie abgerufen haben, mit einer Bezeichnung. Die Treiber für lokalen Speicher werden auf den Workerknoten mit dieser Bezeichnung bereitgestellt. Sie können die Bezeichnung storage=local-file im Beispielbefehl verwenden oder Sie können eine eigene Bezeichnung im Format key=value erstellen.

    oc label nodes <worker-IP> <worker-IP> "storage=local-file"
    

    Beispielausgabe

    node/<worker-IP> labeled
    node/<worker-IP> labeled
    
  3. Überprüfen Sie, ob die Bezeichnung den Workerknoten hinzugefügt wurde, die Sie verwenden wollen. Führen Sie den folgenden Befehl aus, um die Bezeichnungen auf Ihren Workerknoten anzuzeigen und die Bezeichnung hervorzuheben, die Sie im vorherigen Schritt hinzugefügt haben.

    oc get nodes --show-labels | grep --color=always storage=local-file
    

Konfiguration in der Konsole erstellen und zuordnen

  1. Überprüfen Sie die Parameterreferenz.

  2. Wählen Sie in der Standortkonsole 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 aus.

  6. Wählen Sie die Version aus 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.

  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.

Erstellen einer Konfiguration in der Befehlszeilenschnittstelle (CLI)

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

    ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-volume-file --template-version 4.9 --param "auto-discover-devices=AUTO-DISCOVER-DEVICES"  --param "label-key=LABEL-KEY"  --param "label-value=LABEL-VALUE"  --param "devicepath=DEVICEPATH"  --param "fstype=FSTYPE"
    

    Beispielbefehl zum Erstellen einer Konfiguration der Version 4.10.

    ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-volume-file --template-version 4.10 --param "auto-discover-devices=AUTO-DISCOVER-DEVICES"  --param "label-key=LABEL-KEY"  --param "label-value=LABEL-VALUE"  --param "devicepath=DEVICEPATH"  --param "fstype=FSTYPE"
    

    Beispielbefehl zum Erstellen einer Konfiguration der Version 4.11.

    ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-volume-file --template-version 4.11 --param "auto-discover-devices=AUTO-DISCOVER-DEVICES"  --param "label-key=LABEL-KEY"  --param "label-value=LABEL-VALUE"  --param "devicepath=DEVICEPATH"  --param "fstype=FSTYPE"
    

    Beispielbefehl zum Erstellen einer Konfiguration der Version 4.12.

    ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-volume-file --template-version 4.12 --param "auto-discover-devices=AUTO-DISCOVER-DEVICES"  --param "label-key=LABEL-KEY"  --param "label-value=LABEL-VALUE"  --param "devicepath=DEVICEPATH"  --param "fstype=FSTYPE"
    

    Beispielbefehl zum Erstellen einer Konfiguration der Version 4.13.

    ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-volume-file --template-version 4.13 --param "auto-discover-devices=AUTO-DISCOVER-DEVICES"  --param "label-key=LABEL-KEY"  --param "label-value=LABEL-VALUE"  --param "devicepath=DEVICEPATH"  --param "fstype=FSTYPE"
    
  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
    

Erstellen einer Konfiguration in der Anwendungsprogrammierschnittstelle (API)

  1. Generieren Sie einen API-Schlüssel und fordern Sie anschließend ein Aktualisierungstoken an. Weitere Informationen finden Sie unter Erstellen eines IAM-Tokens(IBM Cloud Identity and Access Management)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 4.9.

    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\": \"local-volume-file\", \"storage-template-version\": \"4.9\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"AUTO-DISCOVER-DEVICES\", { \"entry.name\": \"LABEL-KEY\", { \"entry.name\": \"LABEL-VALUE\", { \"entry.name\": \"DEVICEPATH\", { \"entry.name\": \"FSTYPE\",\"user-secret-parameters\": }
    

    Beispielanforderung zum Erstellen einer Konfiguration der Version 4.10.

    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\": \"local-volume-file\", \"storage-template-version\": \"4.10\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"AUTO-DISCOVER-DEVICES\", { \"entry.name\": \"LABEL-KEY\", { \"entry.name\": \"LABEL-VALUE\", { \"entry.name\": \"DEVICEPATH\", { \"entry.name\": \"FSTYPE\",\"user-secret-parameters\": }
    

    Beispielanforderung zum Erstellen einer Konfiguration der Version 4.11.

    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\": \"local-volume-file\", \"storage-template-version\": \"4.11\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"AUTO-DISCOVER-DEVICES\", { \"entry.name\": \"LABEL-KEY\", { \"entry.name\": \"LABEL-VALUE\", { \"entry.name\": \"DEVICEPATH\", { \"entry.name\": \"FSTYPE\",\"user-secret-parameters\": }
    

    Beispielanforderung zum Erstellen einer Konfiguration der Version 4.12.

    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\": \"local-volume-file\", \"storage-template-version\": \"4.12\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"AUTO-DISCOVER-DEVICES\", { \"entry.name\": \"LABEL-KEY\", { \"entry.name\": \"LABEL-VALUE\", { \"entry.name\": \"DEVICEPATH\", { \"entry.name\": \"FSTYPE\",\"user-secret-parameters\": }
    

    Beispielanforderung zum Erstellen einer Konfiguration der Version 4.13.

    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\": \"local-volume-file\", \"storage-template-version\": \"4.13\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"AUTO-DISCOVER-DEVICES\", { \"entry.name\": \"LABEL-KEY\", { \"entry.name\": \"LABEL-VALUE\", { \"entry.name\": \"DEVICEPATH\", { \"entry.name\": \"FSTYPE\",\"user-secret-parameters\": }
    

Erstellen einer Zuweisung in der Befehlszeilenschnittstelle (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. Rufen Sie die ID des Clusters, der Clustergruppe oder des Dienstes ab, 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 Befehlibmcloud 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)
    

Erstellen einer Speicherzuweisung in der Anwendungsprogrammierschnittstelle (API)

  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
    

Manuelles Upgrade von Konfigurationen in der Befehlszeilenschnittstelle

Sie können Ihre Satellite-Speicherkonfigurationen aktualisieren, um die neueste Version der Speichervorlage innerhalb derselben Hauptversion zu erhalten.

  1. Listen Sie Ihre Satellite-Speicherkonfigurationen auf und notieren Sie sich die Satellite-Konfiguration, für die Sie ein Upgrade durchführen wollen.

    ibmcloud sat storage config ls
    
  2. Führen Sie das Upgrade der Satellite-Konfiguration durch. Beachten Sie, dass nur die Konfiguration aktualisiert wird. Wenn Sie die Zuordnungen aktualisieren möchten, die diese Konfiguration verwenden, können Sie die Option --include-assignments angeben oder jede Zuordnung manuell mit dem Befehl assignment update aktualisieren.

    Beispielbefehl für ein Upgrade einer Konfiguration auf die neueste Überarbeitung.

    ibmcloud sat storage config upgrade --config CONFIG [--include-assignments]
    

    Beispielbefehl zum Aktualisieren einer Konfiguration und der zugehörigen Zuweisungen auf die neueste Version.

    ibmcloud sat storage config upgrade --config CONFIG --include-assignments
    

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"
    
  4. Überprüfen Sie, ob die Speicherkonfigurationsressourcen bereitgestellt wurden. Rufen Sie eine Liste aller Ressourcen im Namensbereich local-storage ab.

    oc get all -n local-storage
    

    Beispielausgabe

    NAME                                         READY   STATUS    RESTARTS   AGE
    pod/local-disk-local-diskmaker-cpk4r         1/1     Running   0          30s
    pod/local-disk-local-provisioner-xstjh       1/1     Running   0          30s
    pod/local-storage-operator-96c444dfc-ttpmq   1/1     Running   0          35s
    NAME                             TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)     AGE
    service/local-storage-operator   ClusterIP   172.21.173.238   <none>        60000/TCP   32s
    NAME                                          DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
    daemonset.apps/local-disk-local-diskmaker     1         1         1       1            1           <none>          31s
    daemonset.apps/local-disk-local-provisioner   1         1         1       1            1           <none>          31s
    NAME                                     READY   UP-TO-DATE   AVAILABLE   AGE
    deployment.apps/local-storage-operator   1/1     1            1           36s
    NAME                                               DESIRED   CURRENT   READY   AGE
    replicaset.apps/local-storage-operator-96c444dfc   1         1         1       37s
    
  5. Listen Sie die verfügbaren Speicherklassen auf.

    oc get sc -n local-storage | grep local
    

    Beispielausgabe

    sat-local-file-gold       kubernetes.io/no-provisioner   Delete          WaitForFirstConsumer   false                  21m
    
  6. Listen Sie die PVs auf und überprüfen Sie, ob sie den Status 'Verfügbar' (Available) haben. Die lokalen Platten, die Sie bei der Erstellung Ihrer Konfiguration angegeben haben, sind als persistente Datenträger (PVs) verfügbar.

    oc get pv
    

    Beispielausgabe

    NAME               CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM   STORAGECLASS          REASON   AGE
    local-pv-1d14680   50Gi       RWO            Delete           Available           sat-local-file-gold            50s
    
  7. Erstellen Sie eine PVC, die auf Ihren lokalen PV verweist, und stellen Sie anschließend eine App bereit, die Ihren lokalen Speicher verwendet.

App bereitstellen, die den lokalen Dateispeicher verwendet

Nachdem Sie eine Speicherkonfiguration für lokalen Dateispeicher erstellt und Ihren Clustern zugewiesen haben, können Sie eine App erstellen, die Ihren lokalen Dateispeicher verwendet.

Sie können Ihre PVCs bestimmten persistenten Datenträgern (PVs) zuordnen, indem Sie Ihre persistenten Datenträger mit Bezeichnungen versehen. Weitere Informationen finden Sie in der Kubernetes-Dokumentation für Selektoren.

  1. Speichern Sie den folgenden YAML-Code in einer Datei mit dem Namen local-pvc.yaml.

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: local-pvc
    spec:
      accessModes:
      - ReadWriteOnce
      volumeMode: Filesystem
      resources:
        requests:
          storage: 20Gi # Important: Ensure that size of your claim is not larger than the local disk.
      storageClassName: sat-local-file-gold
    
  2. Erstellen Sie die PVC in Ihrem Cluster.

    oc create -f local-pvc.yaml
    
  3. Überprüfen Sie, ob Ihre PVC erstellt wurde.

    oc get pvc | grep local
    

    Um sicherzustellen, dass Ihre Pods auf Worker-Knoten mit Speicher terminiert werden, oder um sicherzustellen, dass die Apps, für die Speicher erforderlich ist, nicht von anderen Pods verprellt werden, können Sie nodeAffinity angeben und die Pods-Priorität festlegen. Weitere Informationen finden Sie in der Kubernetes-Dokumentation für pod priority and preemption und Einstellung für Knotenaffinität.

  4. Stellen Sie einen App-Pod bereit, der Ihre PVC für lokalen Speicher verwendet. Speichern Sie das folgende Beispiel eines YAML-Codes für eine App als Datei mit dem Namen app.yaml auf Ihrer lokalen Maschine. Dieser Pod schreibt das Datum in eine Datei mit dem Namen test.txt. Stellen Sie sicher, dass Sie den Namen der PVC eingeben, die Sie zuvor erstellt haben. In diesem Beispiel stellt die Angabe für nodeAffinity sicher, dass dieser Pod nur auf einem Workerknoten mit der angegebenen Bezeichnung (Label) geplant wird.

    apiVersion: v1
    kind: Pod
    metadata:
      name: app
    spec:
      affinity: null
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
            - matchExpressions:
                - key: storage
                  operator: In
                  values:
                    - local-file
      volumes:
        - name: local-pvc
          persistentVolumeClaim:
            claimName: local-pvc
      containers:
        - name: local-disks
          image: nginx
          ports:
            - containerPort: 80
              name: http-server
          volumeMounts:
            - mountPath: <mount-path-to-local-disk>
              name: local-pvc
    
  5. Erstellen Sie den App-Pod in Ihrem Cluster.

    oc create -f app.yaml
    
  6. Melden Sie sich bei Ihrem App-Pod an und überprüfen Sie, ob Sie auf Ihre lokale Platte schreiben können.

    kubectl exec <app-pod> -it bash
    
  7. Führen Sie den folgenden Befehl aus, um in das Verzeichnis der Position Ihrer lokalen Platte zu wechseln, die Datei 'test.txt' zu schreiben und den Inhalt der Datei anzuzeigen.

    cd /<mount-path-to-local-disk> && echo "This is a test." >> test.txt && cat test.txt
    

    Beispielausgabe

    This is a test.
    
  8. Entfernen Sie die Testdatei und melden Sie sich von dem Pod ab.

    rm test.txt && exit
    

Lokale Dateispeicherkonfiguration aus dem Cluster entfernen

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

Wenn Sie die Speicherkonfiguration entfernen, werden die Ressourcen des Operators für lokalen Speicher und die Speicherklasse sat-local-file-gold anschließend aus allen zugeordneten Clustern deinstalliert. Ihre PVCs, PVs und Daten werden nicht entfernt. Sie können jedoch erst wieder auf Ihre Daten zugreifen, wenn Sie den Treiber in Ihrem Cluster erneut installiert haben.

Lokale Dateispeicherkonfiguration aus der Konsole entfernen

Verwenden Sie die Konsole, um eine Speicherkonfiguration zu entfernen.

  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.

Lokale Dateispeicherkonfiguration über die Befehlszeile entfernen

  1. Listen Sie die Ressourcen im Namensbereich local-storage auf. Wenn Sie Ihre Speicherzuweisung löschen, werden diese Ressourcen entfernt.

    oc get all -n local-storage
    

    Beispielausgabe

    NAME                                         READY   STATUS    RESTARTS   AGE
    pod/local-disk-local-diskmaker-clvg6         1/1     Running   0          29h
    pod/local-disk-local-diskmaker-kqddq         1/1     Running   0          29h
    pod/local-disk-local-diskmaker-p6z9q         1/1     Running   0          29h
    pod/local-disk-local-provisioner-dw5g7       1/1     Running   0          29h
    pod/local-disk-local-provisioner-hxd9n       1/1     Running   0          29h
    pod/local-disk-local-provisioner-tfg95       1/1     Running   0          29h
    pod/local-storage-operator-df4994656-7826l   1/1     Running   0          29h
    NAME                             TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)     AGE
    service/local-storage-operator   ClusterIP   172.21.147.17   <none>        60000/TCP   29h
    NAME                                          DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
    daemonset.apps/local-disk-local-diskmaker     3         3         3       3            3           <none>          29h
    daemonset.apps/local-disk-local-provisioner   3         3         3       3            3           <none>          29h
    NAME                                     READY   UP-TO-DATE   AVAILABLE   AGE
    deployment.apps/local-storage-operator   1/1     1            1           29h
    NAME                                               DESIRED   CURRENT   READY   AGE
    replicaset.apps/local-storage-operator-df4994656   1         1         1       29h
    
  2. 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)
    
  3. Entfernen Sie die Zuweisung. Wenn die Zuweisung entfernt wird, werden die Treiberpods und Speicherklassen für den lokalen Speicher aus allen Clustern entfernt, die Teil der Speicherzuweisung waren.

    ibmcloud sat storage assignment rm --assignment <assignment_ID>
    
  4. Listen Sie die Ressourcen im Namensbereich local-storage auf und überprüfen Sie, ob die Treiberpods für den lokalen Speicher entfernt wurden.

    oc get all -n local-storage
    

    Beispielausgabe

    No resources found in local-storage namespace.
    
  5. Listen Sie die Speicherklassen in Ihrem Cluster auf und überprüfen Sie, ob die Speicherklassen für den lokalen Speicher entfernt wurden.

    oc get sc
    
  6. Optional: Entfernen Sie die Speicherkonfiguration.

    1. Listen Sie die Speicherkonfigurationen auf.
        ibmcloud sat storage config ls
        ```
    2. Entfernen Sie die Speicherkonfiguration.
    ```sh {: pre}
        ibmcloud sat storage config rm --config <config_name>
        ```
    
  7. Listen Sie Ihre PVCs auf und notieren Sie den Namen der PVC, die Sie entfernen wollen.

    oc get pvc
    
  8. Entfernen Sie alle Pods, die die PVC zurzeit 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
    
        ```sh {: screen}
        app    sat-local-file-gold
        ```
    2. Entfernen Sie den Pod, der den PVC verwendet. Wenn der Pod Teil einer Bereitstellung ist, entfernen Sie die Bereitstellung.
    
    ```sh {: pre}
        oc delete pod <pod_name>
        ```
        ```sh {: pre}
        oc delete deployment <deployment-name>
        ```
    3. Überprüfen Sie, ob der Pod bzw. die Bereitstellung entfernt wurde.
    
    ```sh {: pre}
        oc get pods
        ```
        ```sh {: pre}
        oc get deployments
        ```
    
  9. Löschen Sie die PVC. Da für alle von IBM bereitgestellten lokalen Dateispeicherklassen eine Retain Freigaberichtlinie festgelegt ist, werden die PV und die PVC nicht automatisch gelöscht, wenn Sie Ihre App oder Bereitstellung löschen.

    oc delete pvc <pvc-name>
    
  10. Überprüfen Sie, ob Ihre PVC entfernt wurde.

    oc get pvc
    
  11. Listen Sie Ihre PVs auf und notieren Sie den Namen der PVs, die Sie entfernen wollen.

    oc get pv
    
  12. Löschen Sie die PVs. Durch das Löschen der PVs werden Ihre Platten für andere Workloads verfügbar gemacht.

    oc delete pv <pv-name>
    
  13. Überprüfen Sie, ob Ihr PV entfernt wurde.

    oc get pv
    

Parameterreferenz

4.9 Parameterreferenz

Tabelle 1. 4.9 Parameter-Referenz
Anzeigename CLI-Option Typ Beschreibung Standardwert
Automatische Erkennung von Speicherdatenträgern auto-discover-devices Konfiguration Setzen Sie den Wert auf 'true', wenn die Speicherdatenträger auf Ihren Workerknoten automatisch erkannt und verwendet werden sollen. false
Schlüssel für Knotenbezeichnung label-key Konfiguration Der 'Schlüssel'-Teil der Bezeichnung 'Schlüssel=Wert' des Workerknotens. Nicht zutreffend
Schlüsselwert für Knotenbezeichnung label-value Konfiguration Der 'Wert'-Teil der Bezeichnung 'Schlüssel=Wert' des Workerknotens. Nicht zutreffend
Einheitenpfad devicepath Konfiguration Der Pfad der lokalen Speichereinheit. Beispiel: '/dev/sdc'. Erforderlich, wenn 'auto-discover-devices' auf 'false' gesetzt ist. Nicht zutreffend
Dateisystemtyp fstype Konfiguration Der Typ des Dateisystems. Geben Sie 'ext3', 'ext4' oder 'xfs' an. ext4

4.10 Parameterreferenz

Tabelle 2. 4.10 Parameter-Referenz
Anzeigename CLI-Option Typ Beschreibung Standardwert
Automatische Erkennung von Speicherdatenträgern auto-discover-devices Konfiguration Setzen Sie den Wert auf 'true', wenn die Speicherdatenträger auf Ihren Workerknoten automatisch erkannt und verwendet werden sollen. false
Schlüssel für Knotenbezeichnung label-key Konfiguration Der 'Schlüssel'-Teil der Bezeichnung 'Schlüssel=Wert' des Workerknotens. Nicht zutreffend
Schlüsselwert für Knotenbezeichnung label-value Konfiguration Der 'Wert'-Teil der Bezeichnung 'Schlüssel=Wert' des Workerknotens. Nicht zutreffend
Einheitenpfad devicepath Konfiguration Der Pfad der lokalen Speichereinheit. Beispiel: '/dev/sdc'. Erforderlich, wenn 'auto-discover-devices' auf 'false' gesetzt ist. Nicht zutreffend
Dateisystemtyp fstype Konfiguration Der Typ des Dateisystems. Geben Sie 'ext3', 'ext4' oder 'xfs' an. ext4

4.11 Parameterreferenz

Tabelle 3. 4.11 Parameter-Referenz
Anzeigename CLI-Option Typ Beschreibung Standardwert
Automatische Erkennung von Speicherdatenträgern auto-discover-devices Konfiguration Setzen Sie den Wert auf 'true', wenn die Speicherdatenträger auf Ihren Workerknoten automatisch erkannt und verwendet werden sollen. false
Schlüssel für Knotenbezeichnung label-key Konfiguration Der 'Schlüssel'-Teil der Bezeichnung 'Schlüssel=Wert' des Workerknotens. Nicht zutreffend
Schlüsselwert für Knotenbezeichnung label-value Konfiguration Der 'Wert'-Teil der Bezeichnung 'Schlüssel=Wert' des Workerknotens. Nicht zutreffend
Einheitenpfad devicepath Konfiguration Der Pfad der lokalen Speichereinheit. Beispiel: '/dev/sdc'. Erforderlich, wenn 'auto-discover-devices' auf 'false' gesetzt ist. Nicht zutreffend
Dateisystemtyp fstype Konfiguration Der Typ des Dateisystems. Geben Sie 'ext3', 'ext4' oder 'xfs' an. ext4

4.12 Parameterreferenz

Tabelle 4. 4.12 Parameter-Referenz
Anzeigename CLI-Option Typ Beschreibung Standardwert
Automatische Erkennung von Speicherdatenträgern auto-discover-devices Konfiguration Setzen Sie den Wert auf 'true', wenn die Speicherdatenträger auf Ihren Workerknoten automatisch erkannt und verwendet werden sollen. false
Schlüssel für Knotenbezeichnung label-key Konfiguration Der 'Schlüssel'-Teil der Bezeichnung 'Schlüssel=Wert' des Workerknotens. Nicht zutreffend
Schlüsselwert für Knotenbezeichnung label-value Konfiguration Der 'Wert'-Teil der Bezeichnung 'Schlüssel=Wert' des Workerknotens. Nicht zutreffend
Einheitenpfad devicepath Konfiguration Der Pfad der lokalen Speichereinheit. Beispiel: '/dev/sdc'. Erforderlich, wenn 'auto-discover-devices' auf 'false' gesetzt ist. Nicht zutreffend
Dateisystemtyp fstype Konfiguration Der Typ des Dateisystems. Geben Sie 'ext3', 'ext4' oder 'xfs' an. ext4

4.13 Parameterreferenz

Tabelle 5. 4.13 Parameter-Referenz
Anzeigename CLI-Option Typ Beschreibung Standardwert
Automatische Erkennung von Speicherdatenträgern auto-discover-devices Konfiguration Setzen Sie den Wert auf 'true', wenn die Speicherdatenträger auf Ihren Workerknoten automatisch erkannt und verwendet werden sollen. false
Schlüssel für Knotenbezeichnung label-key Konfiguration Der 'Schlüssel'-Teil der Bezeichnung 'Schlüssel=Wert' des Workerknotens. Nicht zutreffend
Schlüsselwert für Knotenbezeichnung label-value Konfiguration Der 'Wert'-Teil der Bezeichnung 'Schlüssel=Wert' des Workerknotens. Nicht zutreffend
Einheitenpfad devicepath Konfiguration Der Pfad der lokalen Speichereinheit. Beispiel: '/dev/sdc'. Erforderlich, wenn 'auto-discover-devices' auf 'false' gesetzt ist. Nicht zutreffend
Dateisystemtyp fstype Konfiguration Der Typ des Dateisystems. Geben Sie 'ext3', 'ext4' oder 'xfs' an. ext4

Speicherklassenreferenz für lokalen Dateispeicher

Prüfen Sie die Informationen zu den Satellite-Speicherklassen für lokalen Dateispeicher. Sie können Speicherklassen in der Befehlszeile mit dem Befehl oc describe sc <storage-class-name> beschreiben.

Referenz der lokalen Dateispeicherklasse.
Speicherklassenname Dateisystem Rückforderungsrichtlinie
sat-local-file-gold ext4 oder xfs Beibehalten

Hilfe und Support für die lokale Dateispeicherung

  1. Lesen Sie die häufig gestellten Fragen in der Dokumentation zuRed Hat OpenShift.
  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 ihrer Ressourcen auf der Statusseite.
  4. Überprüfen Sie Stack Overflow, um festzustellen, ob andere Benutzer dasselbe Problem hatten. Versehen Sie alle Fragen mit "ibm-cloud", damit sie von den IBM Cloud-Entwicklungsteams gesehen werden können.
  5. Sollten Sie ein Problem mit dem Local File Storage-Operator haben, können Sie ein Ticket im Red Hat-Kundenportal erstellen.