IBM Cloud-Speicherdienstprogramme

Dieses Thema behandelt Dienstprogramme für die Verwaltung von rohem, unformatiertem Blockspeicher in IBM Cloud Kubernetes Service Clustern. Die Dienstprogramme und Verfahren unterscheiden sich je nach Typ Ihrer Cluster-Infrastruktur.

Klassische Cluster
Verwenden Sie das IBM Cloud Block Storage Attacher-Plug-in, um Rohblockspeicher an klassische Worker Nodes anzuhängen.
VPC-Cluster
Verwenden Sie die API oder CLI von IBM Cloud, um die Rohdaten Block Storage for VPC an VPC-Arbeitsknoten anzuhängen. Siehe Hinzufügen von raw Block Storage for VPC zu VPC-Arbeitsknoten.

Klassisch: IBM Cloud Block Storage Attacher-Plug-in installieren (Beta)

Mithilfe des IBM Cloud Block Storage Attacher-Plug-ins können Sie einem klassischen Workerknoten in Ihrem Cluster unaufbereiteten, unformatierten und nicht angehängten Blockspeicher zuordnen.

Beispiel: Um Ihre Daten mit einer softwaredefinierten Speicherlösung (SDS) wie Portworx zu speichern, ohne klassische Bare-Metal-Worker-Knoten zu verwenden, die für die Nutzung von SDS optimiert sind und über zusätzliche lokale Festplatten verfügen. Wenn Sie Ihrem klassischen Nicht-SDS-Workerknoten lokale Platten hinzufügen wollen, müssen Sie Ihre Blockspeichereinheiten manuell in Ihrem Konto der IBM Cloud-Infrastruktur erstellen und den Speicher mithilfe von IBM Cloud Block Volume Attacher Ihrem Nicht-SDS-Workerknoten zuordnen.

Das IBM Cloud Block Volume Attacher-Plug-in erstellt Pods auf jedem Workerknoten in Ihrem Cluster als Teil einer Dämongruppe und richtet eine Kubernetes-Speicherklasse ein, die Sie später zum Zuordnen der Blockspeichereinheit zu Ihren Nicht-SDS-Workerknoten verwenden können.

Anweisungen zum Aktualisieren oder Entfernen des Plug-ins IBM Cloud Block Volume Attacher finden Sie unter Aktualisieren des Plug-ins und Entfernen des Plug-ins.

  1. Befolgen Sie die Anweisungen zum Installieren von Version 3 des Helm-Clients auf Ihrer lokalen Maschine.

  2. Aktualisieren Sie das Helm-Repository, um die aktuelle Version aller Helm-Charts in diesem Repository abzurufen.

    helm repo update
    
  3. Installieren Sie das IBM Cloud Block Volume Attacher-Plug-in. Wenn Sie das Plug-in installieren, werden vordefinierte Blockspeicherklassen zu Ihrem Cluster hinzugefügt.

    helm install block-attacher iks-charts/ibm-block-storage-attacher --namespace kube-system
    

    Beispielausgabe

    NAME:   block-volume-attacher
    LAST DEPLOYED: Thu Sep 13 22:48:18 2018
    NAMESPACE: default
    STATUS: DEPLOYED
    RESOURCES:
    ==> v1beta1/ClusterRoleBinding
    NAME                             AGE
    ibmcloud-block-storage-attacher  1s
    ==> v1beta1/DaemonSet
    NAME                             DESIRED  CURRENT  READY  UP-TO-DATE  AVAILABLE  NODE SELECTOR  AGE
    ibmcloud-block-storage-attacher  0        0        0      0           0          <none>         1s
    ==> v1/StorageClass
    NAME                 PROVISIONER                AGE
    ibmc-block-attacher  ibm.io/ibmc-blockattacher  1s
    ==> v1/ServiceAccount
    NAME                             SECRETS  AGE
    ibmcloud-block-storage-attacher  1        1s
    ==> v1beta1/ClusterRole
    NAME                             AGE
    ibmcloud-block-storage-attacher  1s
    NOTES:
    Thank you for installing: ibmcloud-block-storage-attacher.   Your release is named: block-volume-attacher
    Please refer Chart README.md file for attaching a block storage
    Please refer Chart RELEASE.md to see the release details/fixes
    
  4. Überprüfen Sie, ob die IBM Cloud Block Volume Attacher-Dämongruppe erfolgreich installiert wurde.

    oc get pod -n kube-system -o wide | grep attacher
    

    Beispielausgabe

    ibmcloud-block-storage-attacher-z7cv6           1/1       Running            0          19m
    

    Die Installation war erfolgreich, wenn ein oder mehrere Pods des Typs ibmcloud-block-storage-attacher angezeigt werden. Die Anzahl der Pods entspricht der Anzahl der Workerknoten in Ihrem Cluster. Alle Pods müssen den Status Aktiv aufweisen.

  5. Überprüfen Sie, ob die Speicherklasse für IBM Cloud Block Volume Attacher erfolgreich erstellt wurde.

    oc get sc | grep attacher
    

    Beispielausgabe

    ibmc-block-attacher       ibm.io/ibmc-blockattacher   11m
    

IBM Cloud Block Storage Attacher-Plug-in aktualisieren

Sie können ein Upgrade des vorhandenen IBM Cloud Block Storage Attacher-Plug-ins auf die aktuelle Version durchführen.

  1. Aktualisieren Sie das Helm-Repository, um die aktuelle Version aller Helm-Charts in diesem Repository abzurufen.

    helm repo update
    
  2. Optional: Laden Sie das aktuellste Helm-Chart auf Ihre lokale Maschine herunter. Extrahieren Sie anschließend das Paket und überprüfen Sie die Datei release.md auf die neuesten Releaseinformationen.

    helm pull iks-charts/ibmcloud-block-storage-plugin
    
  3. Ermitteln Sie den Namen des Helm-Charts für das IBM Cloud Block Storage Attacher-Plug-in.

    helm ls -A
    

    Beispielausgabe

    <helm_chart_name>    1           Wed Aug  1 14:55:15 2022    DEPLOYED    ibm-block-storage-attacher-1.0.0    default
    
  4. Führen Sie ein Upgrade von IBM Cloud Block Storage Attacher auf die aktuelle Version durch.

    helm upgrade --force --recreate-pods <helm_chart_name> ibm-block-storage-attacher
    

IBM Cloud Block Volume Attacher-Plug-in entfernen

Wenn Sie das IBM Cloud Block Storage Attacher-Plug-in in Ihrem Cluster nicht bereitstellen und nutzen wollen, können Sie das Helm-Diagramm deinstallieren.

  1. Ermitteln Sie den Namen des Helm-Charts für das IBM Cloud Block Storage Attacher-Plug-in.

    helm list | grep ibm-block-storage-attacher
    

    Beispielausgabe

    <helm_chart_name>    1           Wed Aug  1 14:55:15 2022    DEPLOYED    ibm-block-storage-attacher-1.0.0    default
    
  2. Löschen Sie das IBM Cloud Block Storage Attacher-Plug-in, indem Sie das Helm-Chart entfernen.

    helm uninstall <helm_chart_name> -n <namespace>
    
  3. Überprüfen Sie, ob die Pods für das IBM Cloud Block Storage Attacher-Plug-in entfernt wurden.

    oc get pod -n kube-system -o wide | grep attacher
    

    Das Entfernen der Pods war erfolgreich, wenn in Ihrer CLI-Ausgabe keine Pods angezeigt werden.

  4. Überprüfen Sie, ob die Speicherklasse für IBM Cloud Block Storage Attacher entfernt wurde.

    oc get sc | grep attacher
    

Das Entfernen der Speicherklasse war erfolgreich, wenn in Ihrer CLI-Ausgabe keine Speicherklasse angezeigt wird.

Klassisch: Blockspeicher bestimmten Workerknoten manuell hinzufügen

Verwenden Sie diese Option, um verschiedene Block-Speicherkonfigurationen hinzuzufügen, Block-Speicher nur für eine Teilmenge von Worker-Knoten bereitzustellen oder mehr Kontrolle über den Bereitstellungsprozess zu erlangen.

  1. Listen Sie die Worker-Knoten in Ihrem Cluster auf und notieren Sie sich die private IP-Adresse sowie die Zone der Nicht-SDS-Worker-Knoten, auf denen Sie ein Blockspeichergerät hinzufügen.

    ibmcloud oc worker ls --cluster CLUSTER_NAME_OR_ID
    
  2. Lesen Sie die Schritte 3 und 4 im Abschnitt Festlegen Ihrer Blockspeicherkonfiguration durch, um den Typ, die Größe und die Anzahl der IOPS für das Blockspeichergerät auszuwählen, das Sie Ihrem Nicht-SDS-Worker-Knoten hinzufügen möchten.

  3. Erstellen Sie die Blockspeichereinheit in derselben Zone, in der sich auch Ihr Nicht-SDS-Workerknoten befindet.

    Beispiel für die Bereitstellung von 20 GB Endurance-Blockspeicher mit 2 IOPS pro GB.

    ibmcloud sl block volume-order --storage-type endurance --size 20 --tier 2 --os-type LINUX --datacenter dal10
    

    Beispiel für die Bereitstellung von 20 GB Endurance-Blockspeicher mit 100 IOPS.

    ibmcloud sl block volume-order --storage-type performance --size 20 --iops 100 --os-type LINUX --datacenter dal10
    
  4. Überprüfen Sie, ob die Blockspeichereinheit erstellt wurde, und notieren Sie die ID (id) des Datenträgers. Hinweis: Falls Ihr Blockspeichergerät nicht sofort angezeigt wird, warten Sie bitte einige Minuten. Führen Sie dann diesen Befehl erneut aus.

    ibmcloud sl block volume-list
    

    Beispielausgabe

    id         username          datacenter   storage_type                capacity_gb   bytes_used   ip_addr         lunId   active_transactions   
    123456789  IBM02SL1234567-8  dal10        performance_block_storage   20            -            161.12.34.123   0       0   
    
  5. Prüfen Sie die Details für Ihren Datenträger und notieren Sie die Werte für Target IP und LUN Id.

    ibmcloud sl block volume-detail <volume_ID>
    

    Beispielausgabe

    NAME                       Value   
    ID                         1234567890   
    User name                  IBM123A4567890-1   
    Type                       performance_block_storage   
    Capacity (GB)              20   
    LUN Id                     0   
    IOPS                       100   
    Datacenter                 dal10   
    Target IP                  161.12.34.123   
    # of Active Transactions   0   
    Replicant Count            0
    
  6. Berechtigen Sie den Nicht-SDS-Workerknoten zum Zugriff auf die Blockspeichereinheit. Ersetzen Sie <volume_ID> durch die Volume-ID Ihres Blockspeichergeräts, die Sie zuvor abgerufen haben, und <private_worker_IP> durch die private IP-Adresse des Nicht-SDS-Worker-Knotens, an den Sie das Gerät anschließen.

    ibmcloud sl block access-authorize <volume_ID> -p <private_worker_IP>
    

    Beispielausgabe

    The IP address 123456789 was authorized to access <volume_ID>.
    
  7. Überprüfen Sie, ob Ihr Nicht-SDS-Workerknoten erfolgreich berechtigt wurde, und notieren Sie die Werte für host_iqn, username und password.

    ibmcloud sl block access-list <volume_ID>
    

    Beispielausgabe

    ID          name                 type   private_ip_address   source_subnet   host_iqn                                      username   password           allowed_host_id   
    123456789   <private_worker_IP>  IP     <private_worker_IP>  -               iqn.2018-09.com.ibm:ibm02su1543159-i106288771   IBM02SU1543159-I106288771   R6lqLBj9al6e2lbp   1146581   
    

    Die Berechtigung war erfolgreich, wenn Werte für host_iqn, username und password zugewiesen wurden.

  8. Ordnen Sie die Blockspeichereinheiten Ihren Workerknoten zu.

Klassisch: Unaufbereiteten Blockspeicher für Nicht-SDS-Workerknoten zuordnen

Für die Zuordnung der Blockspeichereinheit zu einem Nicht-SDS-Workerknoten müssen Sie einen persistenten Datenträger (PV - Persistent Volume) mit der IBM Cloud Block Volume Attacher-Speicherklasse und den Details Ihrer Blockspeichereinheit erstellen.

  1. Bereiten Sie die Erstellung des persistenten Datenträgers (PV) vor.

    • Wenn Sie den mkpvyaml-Container verwendet haben, führen Sie den folgenden Befehl aus.

      1. Öffnen Sie die Datei pv-<cluster_name>.yaml.

        nano pv-<cluster_name>.yaml
        
      2. Überprüfen Sie die Konfiguration für Ihre PVs.

    • Wenn Sie Blockspeicher manuell hinzugefügt haben:

      1. Erstellen Sie eine pv.yaml-Datei. Der folgende Befehl erstellt die Datei mit dem Editor nano.

        nano pv.yaml
        
      2. Fügen Sie die Details Ihrer Blockspeichereinheit dem PV hinzu.

        apiVersion: v1
        kind: PersistentVolume
        metadata:
          name: <pv_name>
          annotations:
            ibm.io/iqn: "<IQN_hostname>"
            ibm.io/username: "<username>"
            ibm.io/password: "<password>"
            ibm.io/targetip: "<targetIP>"
            ibm.io/lunid: "<lunID>"
            ibm.io/nodeip: "<private_worker_IP>"
            ibm.io/volID: "<volume_ID>"
        spec:
          capacity:
            storage: <size>
          accessModes:
            - ReadWriteOnce
          hostPath:
              path: /
          storageClassName: ibmc-block-attacher
        
    metadata.name
    Geben Sie einen Namen für Ihren persistenten Datenträger (PV) ein.
    ibm.io/iqn
    Geben Sie den IQN-Hostnamen ein, den Sie zuvor abgerufen haben.
    ibm.io/username
    Geben Sie den Benutzernamen für die IBM Cloud-Infrastruktur ein, den Sie zuvor abgerufen haben.
    ibm.io/password
    Geben Sie das Kennwort für die IBM Cloud-Infrastruktur ein, das Sie zuvor abgerufen haben.
    ibm.io/targetip
    Geben Sie die Ziel-ID ein, die Sie zuvor abgerufen haben.
    ibm.io/lunid
    Geben Sie die LUN-ID Ihrer Blockspeichereinheit ein, die Sie zuvor abgerufen haben.
    ibm.io/nodeip
    Geben Sie die private IP-Adresse des Worker-Knotens ein, an den Sie das Blockspeichergerät angeschlossen haben und den Sie zuvor für den Zugriff auf Ihr Blockspeichergerät autorisiert haben.
    ibm.io/volID
    Geben Sie die ID des Blockspeicherdatenträgers ein, die Sie zuvor abgerufen haben.
    storage
    Geben Sie die Größe der Blockspeichereinheit ein, die Sie zuvor erstellt haben. Beispiel: Wenn Ihre Blockspeichereinheit 20 Gigabyte groß ist, geben Sie 20Gi ein.
  2. Erstellen Sie den persistenten Datenträger (PV), um die Blockspeichereinheit Ihrem Nicht-SDS-Workerknoten zuzuordnen.

    • Wenn Sie den mkpvyaml-Container verwendet haben, führen Sie den folgenden Befehl aus.
        oc apply -f pv-<cluster_name>.yaml
        ```
    - Wenn Sie manuell Blockspeicher hinzugefügt haben, führen Sie den folgenden Befehl aus.
    
    ```sh {: pre}
        oc apply -f pv.yaml
        ```
    
  3. Überprüfen Sie, ob der Blockspeicher Ihren Workerknoten erfolgreich zugeordnet wurde.

    oc describe pv <pv_name>
    

    Beispielausgabe

    NAME:            kube-wdc07-cr398f790bc285496dbeb8e9137bc6409a-w1-pv1
    Labels:          <none>
    Annotations:     ibm.io/attachstatus=attached
                    ibm.io/dm=/dev/dm-1
                    ibm.io/iqn=iqn.2018-09.com.ibm:ibm02su1543159-i106288771
                    ibm.io/lunid=0
                    ibm.io/mpath=3600a09803830445455244c4a38754c66
                    ibm.io/nodeip=10.176.48.67
                    ibm.io/password=R6lqLBj9al6e2lbp
                    ibm.io/targetip=161.26.98.114
                    ibm.io/username=IBM02SU1543159-I106288771
                    kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"v1","kind":"PersistentVolume","metadata":{"annotations":{"ibm.io/iqn":"iqn.2018-09.com.ibm:ibm02su1543159-i106288771","ibm.io/lunid":"0"...
    Finalizers:      []
    StorageClass:    ibmc-block-attacher
    Status:          Available
    Claim:           
    Reclaim Policy:  Retain
    Access Modes:    RWO
    Capacity:        20Gi
    Node Affinity:   <none>
    Message:         
    Source:
        Type:          HostPath (bare host directory volume)
        Path:          /
        HostPathType:  
    Events:            <none>
    

    Die Blockspeichereinheit wurde erfolgreich zugeordnet, wenn ibm.io/dm auf eine Geräte-ID gesetzt wurde, wie zum Beispiel /dev/dm/1, und im Abschnitt Annotations Ihrer CLI-Ausgabe die Angabe ibm.io/attachstatus=attached angezeigt wird.

Wenn Sie die Zuordnung eines Datenträgers aufheben wollen, löschen Sie den PV. Es ist weiterhin ein bestimmter Workerknoten berechtigt, auf solche freigegebene Datenträger zuzugreifen. Freigegebene Datenträger werden erneut zugeordnet, wenn Sie einen neuen PV mit der IBM Cloud Block Volume Attacher-Speicherklasse erstellen, um einen anderen Datenträger demselben Workerknoten zuzuordnen. Zur Vermeidung einer erneuten Zuordnung des alten, freigegebenen Datenträgers entziehen Sie dem Workerknoten die Berechtigung zum Zugriff auf den freigegebenen Datenträger, indem Sie den Befehl ibmcloud sl block access-revoke verwenden. Durch die Freigabe des Datenträgers wird der Datenträger selbst nicht aus Ihrem Konto der IBM Cloud-Infrastruktur entfernt. Zur Stornierung der Abrechnung für Ihren Datenträger müssen Sie den Speicher manuell aus Ihrem Konto der IBM Cloud-Infrastruktur entfernen.

VPC: Mit der API unformatierten Blockspeicher (Block Storage for VPC) zu VPC-Workerknoten hinzufügen

Mit der Kubernetes Service-API können Sie unformatierte Rohdaten aus Block Storage for Classic an einen Worker-Knoten in Ihrem VPC-Cluster anhängen und von diesem trennen.

Sie können einen Datenträger nur einem einzigen Arbeitsknoten zuordnen. Stellen Sie sicher, dass sich das Volume in derselben Zone wie der Worker-Knoten befindet, damit die Anbindung erfolgreich ist.

Darüber hinaus können Sie mithilfe der Befehlszeilenschnittstelle (CLI) Datenträgerzuordnungen für Ihre Workerknoten anhängen, abhängen und auflisten. Weitere Informationen finden Sie in den Referenzinformationen zu den Speicherbefehlen.

Vorbereitende Schritte:

Rufen Sie Ihren Red Hat OpenShift-Cluster auf.

  1. Überprüfen Sie, in welcher Region oder Zone sich Ihr VPC-Workerknoten befindet.

    ibmcloud oc worker ls -c CLUSTER_NAME
    
  2. Entscheiden Sie, welches Block Storage for Classic-Profil für Ihre Kapazitäts- und Leistungsanforderungen am besten geeignet ist.

  3. Stellen Sie einen Block Storage for Classic-Datenträger bereit. Der von Ihnen bereitgestellte Datenträger muss sich in derselben Ressourcengruppe, Region und Zone wie der Workerknoten befinden.

  4. Rufen Sie Ihr IAM-Token ab.

    ibmcloud iam oauth-tokens
    
  5. Abrufen der ID des Arbeitsknotens, der an die Instanz Block Storage for Classic angeschlossen werden soll. Stellen Sie sicher, dass Sie einen Worker-Knoten auswählen, der sich in derselben Zone wie Ihr Block Storage for Classic-Volume befindet.

    ibmcloud oc worker ls --cluster CLUSTER_NAME_OR_ID
    
  6. Verwenden Sie eine POST-Anforderung, um Ihren Block Storage for Classic-Datenträger an den Workerknoten anzuhängen.

    Beispielanforderung

    curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/createAttachment" -H  "accept: application/json" -H  "Authorization: <IAM_token>" -H  "X-Auth-Resource-Group-ID: <resource_group>" -H  "Content-Type: application/json" -d "{  \"cluster\": \"<cluster_name_or_ID>\",  \"volumeID\": \"<volume_ID>\",  \"worker\": \"<worker_ID>\"}"
    
    IAM_token
    Das IAM-OAuth-Token für Ihre aktuelle Sitzung. Zum Abrufen dieses Werts können Sie den Befehl ibmcloud iam oauth-tokens ausführen.
    cluster_name_or_ID
    Die eindeutige ID oder der Name, der bzw. die Ihrem Cluster zugeordnet ist. Zum Abrufen dieser ID können Sie den Befehl ibmcloud oc cluster ls ausführen.
    worker_ID
    Die eindeutige ID, die dem Worker-Knoten zugewiesen wird, an den Sie Ihr Volume anhängen. Zum Abrufen dieses Werts können Sie den Befehl ibmcloud oc worker ls -c CLUSTER_NAME ausführen.
    volume_ID
    Die eindeutige ID, die Ihrem Block Storage for Classic-Datenträger zugeordnet ist. Zum Abrufen einer Liste Ihrer Block Storage for Classic-Datenträger können Sie den Befehl ibmcloud is volumes ausführen.

    Beispielantwort:

    {
        "id": "0111-1aaa11a1-aa1a-111a-111b-1111a1dad1bc",
    "volume": {
        "name": "my-vol",
        "id": "r001-11aa0d59-a1aa-1a11-11ca-ba2bc11e01aa"
    },
    "device": {
        "id": ""
    },
    "name": "volume-attachment",
    "status": "attaching",
    "type": "data"
    }
    
  7. Überprüfen Sie die Zuordnung, indem Sie Vorhandene Datenträgerzuordnungen für einen VPC-Workerknoten überprüfen.

Zuordnung unaufbereiteter und unformatierter Block Storage for Classic-Instanzen für einen Workerknoten in einem VPC-Cluster mithilfe der API aufheben

Mithilfe einer DELETE-Anforderung können Sie die Zuordnung von Speicher für einen VPC-Workerknoten aufheben.

Durch das Aufheben der Speicherzuordnung für Ihren VPC-Cluster werden weder der Block Storage for Classic-Datenträger noch die auf dem Datenträger gespeicherten Daten entfernt. Das Nutzungsentgelt wird weiterhin in Rechnung gestellt, bis Sie den Datenträger manuell löschen.

  1. Ermitteln Sie das zu entfernende Speichervolumen und notieren Sie sich die Volumen-ID.

    ibmcloud is volumes
    
  2. Rufen Sie Details zu dem Datenträger ab. Dieser Befehl gibt die Workerknoten-ID und die Zuordnungs-ID zurück. Notieren Sie die Workerknoten-ID. Im folgenden Befehl wird diese ID als "Instanzname" zurückgegeben.

    ibmcloud is volume <volume_ID>
    
  3. Rufen Sie eine Liste Ihrer persistenten Datenträger (Persistent Volumes, PVs) ab. Dieser Befehl gibt eine Liste Ihrer PVs zurück, anhand derer Sie feststellen können, welches PVC das zu entfernende Volume nutzt.

    oc get pv
    
  4. Beschreiben Sie den PV, von dem der Datenträger verwendet wird. Wenn Sie nicht wissen, welche PV das Volume verwendet, das entfernt werden soll, können Sie den Befehl describe pv für jede PV in Ihrem Cluster ausführen. Notieren Sie, von welchem PVC der PV verwendet wird.

    oc describe pv <pv_name>
    
  5. Überprüfen Sie, ob Ihr Speicherdatenträger momentan von einem Pod genutzt wird. Der folgende Befehl zeigt die Pods, die den Datenträger anhängen, und den zugehörigen PVC an. Wenn kein Pod zurückgegeben wird, ist der Speicher nicht im Gebrauch.

    oc get pods --all-namespaces -o=jsonpath='{range .items[*]}{"\n"}{.metadata.name}{":\t"}{range .spec.volumes[*]}{.persistentVolumeClaim.claimName}{" "}{end}{end}' | grep "<pvc_name>"
    
  6. Wenn der von Ihrem Datenträger verwendete Pod Teil einer Bereitstellung ist, löschen Sie die Bereitstellung. Wenn Ihr Pod nicht Teil einer Bereitstellung ist, löschen Sie den Pod.

    oc delete deployment <deployment_name>
    
    oc delete pod <pod_name>
    
  7. Löschen Sie den PVC und den PV.

    oc delete pvc <pvc_name>
    
    oc delete pv <pv_name>
    
  8. Rufen Sie Ihr IAM-Token ab.

    ibmcloud iam oauth-tokens
    
  9. Heben Sie die Speicherzuordnung mithilfe einer POST-Anforderung auf.

    Beispielanforderung

    curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/deleteAttachment" -H  "accept: application/json" -H  "Authorization: <IAM_token>" -H  "X-Auth-Resource-Group-ID: <resource_group>" -H  "Content-Type: application/json" -d "{  \"cluster\": \"<cluster_name_or_ID\",  \"volumeAttachmentID\": \"<volume_attachment_ID>\",  \"volumeID\": \"<volume_ID>\",  \"worker\": \"<worker_ID>\"}"
    
    IAM_token
    Das IAM-OAuth-Token für Ihre aktuelle Sitzung. Zum Abrufen dieses Werts können Sie den Befehl ibmcloud iam oauth-tokens ausführen.
    cluster_name_or_ID
    Die eindeutige ID oder der Name, der bzw. die Ihrem Cluster zugeordnet ist. Zum Abrufen dieser ID können Sie den Befehl ibmcloud oc cluster ls ausführen.
    worker_ID
    Die eindeutige ID, die dem Workerknoten zugeordnet ist, an den Ihr Datenträger angehängt werden soll. Zum Abrufen dieses Werts können Sie den Befehl ibmcloud oc worker ls -c CLUSTER_NAME ausführen.
    volume_ID
    Die eindeutige ID, die Ihrem Block Storage for Classic-Datenträger zugeordnet ist. Zum Abrufen einer Liste Ihrer Block Storage for Classic-Datenträger können Sie den Befehl ibmcloud is volumes ausführen.
    volume_attachment_ID
    Die eindeutige ID, die Ihrer Datenträgerzuordnung zugeordnet ist. Zum Abrufen dieser ID können Sie den Befehl ibmcloud is volume <volume_ID> ausführen.

Details der Datenträgerzuordnung für einen VPC-Workerknoten mithilfe der API überprüfen

Mithilfe einer GET-Anforderung können Sie die Details der Datenträgerzuordnung für einen VPC-Workerknoten abrufen.

  1. Rufen Sie Ihr IAM-Token ab.

    ibmcloud iam oauth-tokens
    
  2. Rufen Sie die ID der Ressourcengruppe ab, in der Ihr Cluster bereitgestellt ist.

    ibmcloud oc cluster get CLUSTER_NAME_OR_ID | grep "Resource Group ID"
    
  3. Rufen Sie die ID des Workerknotens ab, für den Sie Details der Datenträgerzuordnung anzeigen möchten. Stellen Sie sicher, dass Sie einen Worker-Knoten auswählen, der sich in derselben Zone wie Ihre Block Storage for Classic-Instanz befindet.

    ibmcloud oc worker ls --cluster CLUSTER_NAME_OR_ID
    
  4. Überprüfen Sie die Liste der vorhandenen Datenträgerzuordnungen für einen Workerknoten.

    curl -X GET "https://containers.cloud.ibm.com/v2/storage/getAttachments?cluster=<cluster_ID>&worker=<worker_ID>" --header "X-Auth-Resource-Group-ID: <resource_group_ID>" --header "Authorization: <IAM_token>"
    
  5. Rufen Sie die Details für eine bestimmte Zuordnung ab.

    curl -X GET "https://containers.cloud.ibm.com/v2/storage/getAttachment?cluster=<cluster_ID>&worker=<worker_ID>&volumeAttachmentID=<volume_attachment_ID>" --header "X-Auth-Resource-Group-ID: <resource_group_ID>" --header "Authorization: <IAM_token>"
    
    IAM_token
    Das IAM-OAuth-Token für Ihre aktuelle Sitzung. Zum Abrufen dieses Werts können Sie den Befehl ibmcloud iam oauth-tokens ausführen.
    cluster_ID
    Die eindeutige ID, die Ihrem Cluster zugeordnet ist. Zum Abrufen dieser ID können Sie den Befehl ibmcloud oc cluster ls ausführen.
    worker_ID
    Die eindeutige ID, die dem Workerknoten zugeordnet ist, an den Ihr Datenträger angehängt werden soll. Zum Abrufen dieses Werts können Sie den Befehl ibmcloud oc worker ls -c CLUSTER_NAME ausführen.
    volume_ID
    Die eindeutige ID, die Ihrem Block Storage for Classic-Datenträger zugeordnet ist. Zum Abrufen einer Liste Ihrer Block Storage for Classic-Datenträger können Sie den Befehl ibmcloud is volumes ausführen.
    volume_attachment_ID
    Die eindeutige ID, die Ihrer Datenträgerzuordnung zugeordnet ist. Zum Abrufen dieser ID können Sie den Befehl ibmcloud is volume <volume_ID> ausführen.

VPC: Unformatierten Block Storage for VPC mit der CLI den VPC-Workerknoten zuordnen

Sie können die Kubernetes Service-CLI verwenden, um rohen, unformatierten Block Storage for Classic an einen Workerknoten in Ihrem VPC-Cluster anzuhängen und abzuhängen.

Sie können einen Datenträger nur einem einzigen Arbeitsknoten zuordnen. Stellen Sie sicher, dass sich das Volume in derselben Zone wie der Worker-Knoten befindet, damit die Anbindung erfolgreich ist.

Vorbereitende Schritte:

Rufen Sie Ihren Red Hat OpenShift-Cluster auf.

  1. Listen Sie Ihre Speichervolumes auf und notieren Sie sich die ID des Volumes, das Sie anhängen möchten.

    ibmcloud is vols
    
  2. Listen Sie die Worker-Knoten in Ihrem Cluster auf und notieren Sie sich die ID des Worker-Knotens, an den Sie Ihr Volume anhängen.

    ibmcloud oc worker ls -c CLUSTER_NAME_OR_ID
    
  3. Ordnen Sie Ihren Block Storage for Classic Ihrem VPC-Workerknoten zu.

    ibmcloud oc storage attachment create --cluster CLUSTER_NAME_OR_ID --volume VOLUME --worker WORKER_ID
    

Unformatierten Block Storage for VPC von VPC-Workerknoten mit der CLI entfernen

Sie können Speicher aus Ihrem Workerknoten entfernen, indem Sie den Befehl ibmcloud oc storage attachment rm verwenden.

Melden Sie sich an Ihrem Konto an. If applicable, target the appropriate resource group. Legen Sie den Kontext für den Cluster fest.

  1. Listen Sie Ihre Speichervolumes auf und notieren Sie sich die ID des Volumes, das Sie entfernen möchten.

    ibmcloud is vols
    
  2. Geben Sie die Details zu Ihrem Datenträger wie z. B. die Worker-ID worker-id an, der der Datenträger zugeordnet ist. Die worker-id wird als Instanzname im Abschnitt Verweis auf die Datenträgeranhangsinstanz der Befehlsausgabe aufgeführt.

    ibmcloud is vol <volume-ID>
    

    Beispielausgabe

    Volume Attachment Instance Reference   Attachment type   Instance ID                                 Instance name                                        Auto delete   Attachment ID                               Attachment name      
                                        data              0727_e18c10d7-7f18-48aa-b5ef-5ed163e54198   kube-bsaucubd07dhl66e4tgg-cluster-default-00000a19   false         0727-3bfe90b0-dc2d-498a-946b-8837a5dad7bc   volume-attachment
    
  3. Listen Sie die Speicheranhänge auf einem Workerknoten in Ihrem Cluster auf und notieren Sie sich die Zuordnungs-ID, die Sie entfernen möchten.

    ibmcloud oc storage attachment ls -c CLUSTER --worker WORKER_ID
    

    Beispielausgabe:

    Listing volume attachments...
    OK
    ID                                          Name                Status     Type   Volume ID                                   Volume Name                          Worker ID   
    0111-1a111aaa-1111-1111-111a-aaa1a1a11a11   volume-attachment   attached   boot   a001-f11ed1e1-1aa1-11dc-b11d-a0dc111b1111  dissuade-anointer-errand-handbrake   kube-aa1111aa11aaaaa11aa1-cluster-name-default-00000110
    
  4. Entfernen Sie den Speicheranhang.

    ibmcloud oc storage attachment rm --attachment ATTACHMENT_ID -c CLUSTER --worker WORKER_ID
    
  5. Vergewissern Sie sich, dass Ihr Speicher vom Workerknoten entfernt wurde.

    ibmcloud oc storage attachment ls -c CLUSTER_ID --worker WORKER_ID
    

Sichern und Wiederherstellen von PVC-Daten für Datei- und Blockspeicher

Das Diagramm zum Sichern und Wiederherstellen von Helm wird auf Clustern der Version Satellite 4.13, die CoreOS Worker verwenden, nicht unterstützt.

Mit dem Diagramm IBM Cloud Backup Restore Helm können Sie ein einmaliges oder geplantes Backup für Daten erstellen, die in einem Datei- oder Blockspeicher-Persistent Volume Claim (PVC) gespeichert sind. Your data is stored in an IBM Cloud Object Storage service instance that you create and own. You can use existing backups in your IBM Cloud Object Storage service instance to restore data to a PVC in your cluster.

Was passiert, wenn ich das Diagramm Helm installiere?
When you install the Helm chart, a Kubernetes pod is created in your cluster that performs a one-time or periodic backup of your PVC data, or restores data from IBM Cloud Object Storage to a PVC. Sie konfigurieren Ihre Sicherung oder Wiederherstellung in der Datei values.yaml, die mit dem Diagramm Helm bereitgestellt wird, oder durch Festlegen von Optionen im Befehl helm install.
Welche Einschränkungen muss ich beachten?
Um Daten eines Block-Storage-PVC zu sichern oder wiederherzustellen, darf Ihr PVC nicht in einer App eingebunden sein. Block storage is mounted with a RWO access mode. This access allows only one pod to be mounted to the block storage at a time. To back up or restore your data, you must remove the pod that uses the storage to unmount the PVC. After the backup or restoring of data is finished, you can re-create your pod and mount the backed up or restored PVC.
Was benötige ich, bevor ich loslegen kann?
Um Daten zu sichern oder auf IBM Cloud Object Storage wiederherzustellen, müssen Sie eine IBM Cloud Object Storage-Serviceinstanz einrichten, Serviceanmeldeinformationen für den Zugriff auf den Dienst erstellen und ein Bucket erstellen, das Ihre Daten aufnehmen kann..

Einrichtung einer IBM Cloud Object Storage-Serviceinstanz

Erstellen und konfigurieren Sie eine Instanz des IBM Cloud Object Storage-Dienstes, die als Speicherort für die zu sichernden Daten dienen soll.

  1. Erstellen Sie eine IBM Cloud Object Storage-Serviceinstanz, die HMAC-Berechtigungsnachweise verwendet.
  2. Speichern Sie Ihre IBM Cloud Object Storage-Berechtigungsnachweise in einem geheimen Kubernetes-Schlüssel.
  3. Erstellen Sie ihr erstes IBM Cloud Object Storage-Bucket.
    1. Klicken Sie in der Navigation auf der Seite mit den Servicedetails auf Buckets.
    2. Klicken Sie auf Bucket erstellen. A dialog box is displayed.
    3. Geben Sie einen eindeutigen Namen für Ihr Bucket ein. The name must be unique within IBM Cloud Object Storage across all regions and across all IBM Cloud accounts.
    4. Wählen Sie aus der Liste Resiliency die Verfügbarkeitsstufe für Ihre Daten aus. Weitere Informationen hierzu finden Sie unter IBM Cloud Object Storage-Regionen und -Endpunkte. Notieren Sie sich bei VPC-Clustern den direkten Endpunkt. Beispiel: s3.direct.us.cloud-object-storage.appdomain.cloud.
    5. Ändern Sie den Standort auf die Region, in der Sie Ihre Daten speichern. Keep in mind that your data might not be allowed to be stored in every region due to legal reasons.
    6. Klicken Sie auf Erstellen.
  4. Rufen Sie den IBM Cloud Object Storage-Hostnamen für Ihren Bucket ab.
    1. Klicken Sie auf den Namen des Buckets, den Sie im vorherigen Schritt erstellt haben.
    2. Klicken Sie in der Navigation auf der Seite mit den Service-Details auf Buckets > Konfiguration.
    3. Notieren Sie sich die öffentliche URL, die Sie für den Zugriff auf die Daten in Ihrem Bucket verwenden können.

Weitere Informationen zur Konfiguration Ihrer Serviceinstanz finden Sie in der IBM Cloud Object Storage-Dokumentation.

Sichern und Wiederherstellen von PVC-Daten mithilfe von IBM Cloud Object Storage

Sie können das Diagramm IBM Cloud Backup Restore Helm verwenden, um Daten in einem Datei- oder Blockspeicher-PVC in IBM Cloud Object Storage zu sichern oder um Daten von IBM Cloud Object Storage auf einem PVC in Ihrem Cluster wiederherzustellen.

Vorbereitende Schritte:

Sie können den ibm-storage-backup-Pod oder den ibm-storage-restore-Pod einsetzen, indem Sie entweder die Datei values.yaml des Helm-Diagramms bearbeiten und anwenden oder den Befehl helm install über die Befehlszeile ausführen.

Sichern oder Wiederherstellen eines PVC durch Bearbeiten der Datei values.yaml:

  1. Laden Sie die neueste Version von Helm Chart auf Ihren lokalen Rechner herunter.

    helm fetch --untar iks-charts/ibmcloud-backup-restore
    
  2. Öffnen Sie die Datei values.yaml im nano Befehlszeilen-Editor.

    nano ibmcloud-backup-restore/values.yaml
    
  3. Konfigurieren Sie Ihr Helm-Diagramm, um PVC-Daten zu sichern oder wiederherzustellen. You can configure the backup for more than one PVC.

    Beispiel für die Erstellung eines Sicherungs-Pods durch Konfigurieren der Datei values.yaml:

    image:
        repository: icr.io/iks-charts/ibmcloud-backup-restore
    pullPolicy: Always
    tag: latest
    ACCESS_KEY_ID: # Example: 10110abab1111bbb111aa1aaa111b1a1
    SECRET_ACCESS_KEY: # Example: a1aba11aaa11b11b11aa1111a1111ba111111111a0b1b11a
    ENDPOINT: # Example: s3.us-east.cloud-object-storage.appdomain.cloud
    BUCKET_NAME: # Example: my-bucket
    BACKUP_NAME: # Example: my_backup
    PVC_NAMES:
        - # Example: my_pvc
    - # Optional example: my_pvc2
    CHART_TYPE: # Example: backup or restore
    BACKUP_TYPE: # Example: incremental
    SCHEDULE_TYPE: # Example: periodic
    SCHEDULE_INFO: # Example: weekly
    
    ACCESS_KEY_ID
    Enter the access key ID of the IBM Cloud Object Storage service credentials that you retrieved earlier.
    SECRET_ACCESS_KEY
    Enter the secret access key of the IBM Cloud Object Storage service credentials that you retrieved earlier.
    ENDPOINT
    Enter the public IBM Cloud Object Storage s3 API endpoint for your bucket that you retrieved earlier.
    BUCKET_NAME
    Sicherung: Geben Sie den Namen des IBM Cloud Object Storage-Buckets ein, das Sie zuvor erstellt haben. You use this bucket to store PVC data when you perform a backup. Restore: Geben Sie den Namen des IBM Cloud Object Storage-Buckets ein, in dem Ihre Sicherung gespeichert ist.
    BACKUP_NAME
    Sicherung: Geben Sie den Namen der Sicherung ein, die Sie in IBM Cloud Object Storage erstellen wollen. Restore: Geben Sie den Namen der Sicherung ein, die Sie mit dem Diagramm IBM Cloud Backup Restore Helm in IBM Cloud Object Storage erstellt haben. If you have multiple full backups in your IBM Cloud Object Storage service instance, the PVC is restored with the data of the last full backup. If you have incremental backups, the PVC is restored with the data of the last full backup, including all incremental backups up to the day where you start the restore.
    PVC_NAMES
    Sicherung: Geben Sie den Namen des PVC ein, das gesichert werden soll. Um mehrere PVCs zu sichern, fügen Sie jedes PVC zur Liste der PVCs hinzu. Mit dem Befehl oc get pvc können Sie die verfügbaren PVCs in Ihrem Cluster auflisten. Wiederherstellen: Geben Sie den Namen des PVC ein, in das Sie Daten aus IBM Cloud Object Storage wiederherstellen möchten. You can restore data to one PVC at a time only. Mit dem Befehl oc get pvc können Sie verfügbare PVCs in Ihrem Cluster auflisten, in denen Sie Daten wiederherstellen können.
    CHART_TYPE
    Geben Sie den Namen des Diagrammtyps ein, den Sie bereitstellen möchten. Geben Sie backup ein, um das Backup-Chart bereitzustellen. Geben Sie restore ein, um das Restore-Chart bereitzustellen.
    BACKUP_TYPE
    Required only for backups. Drücken Sie, full um eine vollständige Sicherung zu erstellen, oder, incremental um nur neue oder geänderte Dateien zu sichern. Wenn Sie incremental auswählen, müssen Sie zusätzlich die Option SCHEDULING_INFO und SCHEDULING_TYPE angeben. Wenn Sie die Option BACKUP_TYPE nicht angeben, wird standardmäßig eine Gesamtsicherung erstellt.
    SCHEDULE_TYPE
    Required only for backups. Geben Sie periodic ein, um geplante Sicherungen zu erstellen, oder lassen Sie diese Option leer, um nur eine einzige Sicherung zu erstellen. Um regelmäßige Sicherungen zu erstellen, müssen Sie das Sicherungsintervall in der Option SCHEDULE_INFO festlegen.
    SCHEDULE_INFO
    Required only for backups. Um regelmäßige Sicherungen zu erstellen, müssen Sie den Sicherungszeitplan festlegen. Die Einstellungen hourly (stündlich), daily (täglich) und weekly (wöchentlich) stehen zur Auswahl. Wenn Sie diese Option festlegen, müssen Sie für SCHEDULE_TYPE die Einstellung periodic festlegen.
  4. Speichern und schließen Sie die Datei values.yaml.

  5. Installieren Sie das Helm-Diagramm mit Ihren eigenen Einstellungen in der Datei values.yaml. Wenn Sie das Helm-Diagramm installieren und eine Sicherung oder Wiederherstellung konfigurieren, wird ein ibm-storage-backup- oder ein ibm-storage-restore-Pod in Ihrem Cluster bereitgestellt. The backup pod backs up the data from your PVC to IBM Cloud Object Storage and the restore pod restores data to a PVC. Ersetzen Sie <release_name> durch einen Namen für Ihr Helm-Diagramm. Be sure to install the backup and restore pods in the same zone as the PVC that you want to back up or restore.

    • Installieren Sie das Helm-Diagramm mit dem Befehl helm install.
        helm install <release_name> ./ibmcloud-backup-restore -n <namespace>
        ```
        Beispielausgabe für Sicherung:
    
        ```sh {: screen}
        NAME: <release_name>
        LAST DEPLOYED: Mon Jan 20 09:17:02 2020
        NAMESPACE: default
        STATUS: deployed
        REVISION: 1
        TEST SUITE: None
        NOTES:
        Thank you for installing: ibmcloud-backup-restore.   Your release is named: <release_name>
        Please refer Chart README.md file for creating a sample PVC
        Please refer Chart RELEASE.md to see the release details/fixes
        ```
    * Optional: Installieren Sie das Diagramm Helm, indem Sie die Optionen im Befehl `helm install` festlegen. (Sie können Ihr Release durch Angabe des Parameters `--name` benennen)
    ```sh {: pre}
        helm install <release_name> --set ACCESS_KEY_ID=<access_key_ID> --set SECRET_ACCESS_KEY=<secret_access_key> --set ENDPOINT=<public_bucket_endpoint> --set BUCKET_NAME=<bucket_name> --set BACKUP_NAME=<backup_name> --set PVC_NAMES[0]=<pvc_name1> --set PVC_NAMES[1]=<pvc_name2> --set CHART_TYPE=backup --set BACKUP_TYPE=<backup_type> --set SCHEDULE_TYPE=<schedule_type> --set SCHEDULE_INFO=<schedule_info> ./ibmcloud-backup-restore
        ```
    
  6. Überprüfen Sie, ob die Datensicherung oder -wiederherstellung erfolgreich abgeschlossen wurde.

Sicherung: 1. Überprüfen Sie, dass der Pod ibm-storage-backup den Status Running aufweist. sh {: pre} oc get pods -A | grep backup Beispielausgabe

    ```sh {: screen}
    ibm-storage-backup                        1/1     Running             0          64m
    ```
2. Überprüfen Sie anhand der Protokolle für den Pod `ibm-storage-backup`, ob die Sicherung erfolgreich war. Wenn Sie die Meldung `... backup completed` in den Protokollen sehen, wurde Ihre Sicherung erfolgreich abgeschlossen.

```sh {: pre}
    oc logs ibm-storage-backup
    ```
    Beispielausgabe für tägliche Sicherungen.

    ```sh {: screen}
    [2019-04-18 16:01:51,157] [utilities : 151] [INFO] *****************Start logging to ./Backup.log
    [2019-04-18 16:01:51,158] [backup : 48] [INFO] Starting backup:
    [2019-04-18 16:01:51,158] [configureOS : 66] [INFO] Configuring duplicity with IBM CloudObjectStorage i.e s3.
    [2019-04-18 16:01:51,158] [backup : 62] [INFO] Configuration done!!!
    [2019-04-18 16:01:51,158] [backup : 78] [INFO] Got all required input from config file!!
    [2019-04-18 16:01:52,366] [backup : 119] [WARNING] Incremental backup was not created
    [2019-04-18 16:01:52,366] [backup : 120] [INFO] duplicity  --no-encryption incremental /myvol s3://s3.us-south.cloud-object-storage.appdomain.cloud/mybucket/helm-backup command failed due to Fatal Error: Unable to start incremental backup.  Old signatures not found and incremental specified
    [2019-04-18 16:01:52,367] [backup : 121] [INFO] A full backup is required before incremental backups can begin. Creating a one-time full backup and will run incremental backups for scheduled backups.
    [2019-04-18 16:01:54,357] [backup : 129] [INFO] Full backup completed
    [2019-04-18 16:01:54,357] [backup : 130] [INFO] Local and Remote metadata are synchronized, no sync needed.
    Last full backup date: none
    --------------[ Backup Statistics ]--------------
    StartTime 1555603313.31 (Thu Apr 18 16:01:53 2019)
    EndTime 1555603313.32 (Thu Apr 18 16:01:53 2019)
    ElapsedTime 0.01 (0.01 seconds)
    SourceFiles 3
    SourceFileSize 20495 (20.0 KB)
    NewFiles 3
    NewFileSize 20495 (20.0 KB)
    DeletedFiles 0
    ChangedFiles 0
    ChangedFileSize 0 (0 bytes)
    ChangedDeltaSize 0 (0 bytes)
    DeltaEntries 3
    RawDeltaSize 15 (15 bytes)
    TotalDestinationSizeChange 183 (183 bytes)
    Errors 0
    -------------------------------------------------
    [2019-04-18 16:01:54,357] [backup : 162] [INFO] Scheduling backup as per configurations, please don't stop this program or run this in background !!!
    [2019-04-18 16:01:54,358] [backup : 166] [INFO] Schedule info is: ['daily']
    [2019-04-18 16:01:54,358] [backup : 172] [INFO] Scheduled for daily!!!
    ```
  1. Überprüfen Sie, ob Ihre Daten erfolgreich gesichert oder wiederhergestellt wurden.
    • Sicherung:

      1. Suchen Sie in der IBM Cloud Object Storage-Ressourcenliste nach Ihrer IBM Cloud-Serviceinstanz.
      2. Wählen Sie in der Navigation Buckets aus und klicken Sie auf den Bucket, den Sie in Ihrer Sicherungskonfiguration verwendet haben. Ihre Sicherung wird als Objekt in Ihrem Bucket angezeigt.
      3. Prüfen Sie die komprimierten Dateien. Sie können die Datei *.gz herunterladen, die Datei extrahieren und die gesicherten Daten prüfen.
    • Wiederherstellung:

      1. Erstellen Sie eine Datei deployment.yaml mit einem Pod, der den PVC anhängt, in dem Ihre wiederhergestellten Daten enthalten sind. Das folgende Beispiel stellt einen nginx-Pod bereit, der den PVC im Mountverzeichnis /test anhängt.

          apiVersion: apps/v1
          kind: Deployment
          metadata:
            name: restore
            labels:
            app: nginx
          spec:
            selector:
              matchLabels:
                app: nginx
            template:
              metadata:
                labels:
                  app: nginx
              spec:
                containers:
                  - image: nginx
                    name: nginx
                    volumeMounts:
                    - name: my-volume # Example: my_volume
                      mountPath: /test # Example: /test
                volumes:
                - name: my-volume # Example: my_volume
                  persistentVolumeClaim:
                    claimName: my-actual-pvc-name # Example: my_pvc
        
        spec.containers.image
        Der Name des zu verwendenden Images. Führen Sie ibmcloud cr image-list aus, um die verfügbaren Images in Ihrem IBM Cloud Container Registry-Konto aufzulisten.
        spec.containers.name
        Der Name des Containers, den Sie in Ihrem Cluster bereitstellen möchten.
        spec.containers.volumeMounts.mountPath
        Der absolute Pfad des Verzeichnisses, in dem der Datenträger innerhalb des Containers angehängt wird. Daten, die in den Mountpfad geschrieben werden, werden unter dem Stammverzeichnis in der physischen Blockspeicherinstanz gespeichert. Um ein Volume für verschiedene Apps gemeinsam zu nutzen, können Sie für jede Ihrer Apps Volume-Unterpfade angeben.
        spec.containers.volumeMounts.name
        Der Name des Datenträgers, der an Ihren Pod angehängt werden soll.
        volumes.name
        Der Name des Datenträgers, der an Ihren Pod angehängt werden soll. Normalerweise ist dieser Name derselbe wie volumeMounts/name
        volumes.persistentVolumeClaim.claimName
        Der Name des PVC, das das zu verwendende PV bindet.
      2. Erstellen Sie die Implementierung.

        oc apply -f deployment.yaml
        
      3. Vergewissern Sie sich, dass der Pod den Status Running aufweist.

        Falls Sie feststellen, dass Ihr Pod ibm-storage-restore nicht in den Status Completed oder CrashLoopBackOff übergeht, ist die Wiederherstellung Ihrer Daten möglicherweise fehlgeschlagen. Führen Sie den Befehl oc logs ibm-storage-restore aus, um die eigentliche Ursache des Fehlers zu ermitteln.

        oc get pods | grep restore
        

        Beispielausgabe

        restore-7dfc6f4c78-wkcqp                  1/1     Running             0          3m54s
        
      4. Melden Sie sich bei Ihrem Pod an.

        oc exec <pod_name> -it bash
        
      5. Navigieren Sie zu dem Mountverzeichnis, das Sie in Ihrer YAML-Bereitstellungsdatei angegeben haben.

        cd <mount_directory>
        
      6. Listen Sie die Dateien in Ihrem Mountverzeichnis auf, um zu überprüfen, dass Ihre gesamten Daten im Mountverzeichnis wiederhergestellt werden.

        ls
        
      7. Löschen Sie die Installation des Helm-Charts aus Ihrem Cluster. Dieser Schritt ist erforderlich, wenn Sie Daten in einem Blockspeicher-PVC wiederhergestellt haben. Block storage is mounted with a RWO access mode. This access allows only one pod to be mounted to the block storage at a time. Da die PVC bereits vom Pod ibm-storage-restore angehängt wird, müssen Sie den Pod entfernen und damit die PVC freigegeben wird, bevor Sie die PVC einem anderen Pod in Ihrem Cluster zuordnen können.

        helm uninstall <release_name> -n <namespace>
        
      8. Sie haben Ihre Sicherung erfolgreich wiederhergestellt. Jetzt können Sie den PVC anhängen, der den PV an einen anderen Pod in Ihrem Cluster bindet, und auf die wiederhergestellten Dateien zugreifen. Falls die gesicherten Containerdaten einen Benutzer ohne Rootberechtigung einbezogen haben, müssen Sie dem neuen Container Berechtigungen für einen Benutzer ohne Rootberechtigung hinzufügen. Weitere Informationen enthält der Abschnitt Zugriff von Benutzer ohne Rootberechtigung auf Datenträger hinzufügen.

IBM Cloud Monitoring für Speicherdatenträger einrichten

Alerts in IBM Cloud Monitoring für Ihre Workloads einrichten, die Speicherdatenträger verwenden. Weitere Informationen finden Sie unter Alerts.

Wenn ein Speicherdatenträger inaktiv ist, verfügen Ihre App-Pods, die den Speicher verwenden, über eine niedrige Dateisystemein-/-ausgabe, weisen Netzfehler auf oder fallen aus, wodurch sich die Replikatanzahl verringert. Sie können in IBM Cloud Monitoring Benachrichtigungen einrichten, um informiert zu werden, wenn die Dateisystemoperationen Ihrer App unter einen bestimmten Schwellenwert fallen, wenn Netzwerkfehler auftreten oder wenn die Pods Ihrer App einen bestimmten Zustand Ready nicht erreichen.

  1. Wählen Sie in der Konsole den Cluster aus, in dem Sie Warnmeldungen für Ihre Speichervolumes eingerichtet haben.

  2. Klicken Sie im Abschnitt Überwachung auf Verbinden, um eine Verbindung zu einer vorhandenen IBM Cloud Monitoring-Instanz in Ihrem Cluster herzustellen. Wenn Sie über keine Instanz verfügen, klicken Sie auf Instanz erstellen, um eine zu erstellen. Weitere Informationen zum Einrichten einer IBM Cloud Monitoring-Instanz finden Sie unter Instanz bereitstellen.

  3. Klicken Sie auf die Schaltfläche Starten, um das IBM Cloud Monitoring-Dashboard zu öffnen.

  4. Erstellen Sie Alerts für die Auslastung des Dateisystems für eine App, die in Ihrem Cluster ausgeführt wird.

    1. Klicken Sie in der IBM Cloud Monitoring-Konsole auf Übersicht > Workloads.
    2. Wählen Sie den Namensbereich aus, in dem Ihre App bereitgestellt wird. Suchen Sie Ihre App, klicken Sie auf das Pfeilsymbol in Ihrer App und wählen Sie Kubernetes-Podübersicht aus.
    3. Prüfen Sie im Abschnitt zur Dateisystemauslastung (File System Utilization) die Kachel Bandbreite der Dateiein-/-ausgabe nach Pod (File I/O Bandwidth by Pod).
    4. Überprüfen Sie das Zeitfenster für die Bandbreite der Dateiein-/-ausgabe des letzten Tages oder der letzten Woche, um die durchschnittliche Bandbreite zu ermitteln. Sie können die durchschnittliche Bandbreite als Schwellenwert verwenden, um eine Warnmeldung einzurichten, sobald die Datei-E/A-Bandbreite über einen bestimmten Zeitraum hinweg unter dem Durchschnitt liegt. Wenn beispielsweise die durchschnittliche Datei-E/A-Bandbreite für Ihre App 300B/s beträgt, können Sie eine Warnmeldung einrichten, die ausgelöst wird, wenn die Netzwerkauslastung über einen bestimmten Zeitraum hinweg unter 300B/s bleibt.
    5. Erstellen Sie in der Kachel Bandbreite der Dateiein-/-ausgabe nach Pod einen Alert, indem Sie auf das Menü Optionen und anschließend auf Alert erstellen klicken.
    6. Öffnen Sie den Abschnitt Benachrichtigung des Alertmenüs und erstellen Sie einen Alertbenachrichtigungskanal oder wählen Sie einen solchen aus.
    7. Speichern Sie Ihren Alert.
    8. Wiederholen Sie diese Schritte für alle Apps, die in Ihrem Cluster bereitgestellt sind.
    9. Testen Sie den Alert, den Sie erstellt haben, indem Sie den Schwellenwert bearbeiten, den Sie zum manuellen Auslösen des Alerts konfiguriert haben. Wenn Sie zum Beispiel einen Alert für die Auslastung des Dateisystems einrichten, der ausgelöst wird, wenn die Auslastung für 5 Minuten unter 300B/s liegt, erhöhen Sie den Schwellenwert, damit dieser größer als die aktuelle 5 Minuten dauernde Auslastung Ihrer App ist und wählen die Option at least once aus.
    10. Überprüfen Sie, ob der Alert nach 5 Minuten ausgelöst wird. Nachdem Sie den Alert überprüft haben, setzen Sie die Werte auf die Werte zurück, die Sie zuvor konfiguriert haben.
  5. Erstellen Sie einen Alert für die Netzauslastung für eine App, die in Ihrem Cluster ausgeführt wird.

    1. Klicken Sie in der IBM Cloud Monitoring-Konsole auf Übersicht > Workloads.
    2. Wählen Sie den Namensbereich aus, in dem Ihre App bereitgestellt wird. Suchen Sie Ihre App, klicken Sie auf das Pfeilsymbol in Ihrer App und wählen Sie Kubernetes-Podübersicht aus.
    3. Überprüfen Sie im Abschnitt Netzauslastung die Kachel Netzanforderungsanzahl nach Pod.
    4. Überprüfen Sie die durchschnittliche Netzanforderungsanzahl nach Pod für ein Zeitfenster von einem Tag oder einer Woche, um den Schwellenwert festzulegen.
    5. Erstellen Sie in der Kachel Netzanforderungsanzahl nach Pod einen Alert, indem Sie auf das Menü Optionen und dann auf Alert erstellen klicken. Legen Sie die Alertparameter auf der Basis des beobachteten Schwellenwerts fest. Wenn beispielsweise die Netzwerkauslastung über einen bestimmten Zeitraum unter dem Schwellenwert bleibt, wird die Warnmeldung ausgelöst.
    6. Öffnen Sie den Abschnitt Benachrichtigung des Alertmenüs und erstellen Sie einen Alertbenachrichtigungskanal oder wählen Sie einen solchen aus.
    7. Speichern Sie Ihren Alert.
    8. Wiederholen Sie diese Schritte für alle Apps, die in Ihrem Cluster bereitgestellt sind.
    9. Testen Sie den Alert, den Sie erstellt haben, indem Sie den Schwellenwert bearbeiten, den Sie zum manuellen Auslösen des Alerts konfiguriert haben. Wenn Sie zum Beispiel einen Alert einrichten, der ausgelöst wird, wenn die Anzahl der Netzanforderungen durch den Pod 5 Minuten lang kleiner als 3/s ist, bearbeiten Sie Ihren Alertschwellenwert so, dass dieser kleiner als der Schwellenwert ist, den Sie 5 Minuten lang beobachtet haben, und wählen die Option at least once aus.
    10. Überprüfen Sie, ob der Alert nach 5 Minuten ausgelöst wird. Nachdem Sie den Alert überprüft haben, setzen Sie die Werte auf die Werte zurück, die Sie zuvor konfiguriert haben.
  6. Erstellen Sie einen Alert für die Podverfügbarkeit für eine App, die in Ihrem Cluster ausgeführt wird.

    1. Klicken Sie in der IBM Cloud Monitoring-Konsole auf Übersicht > Workloads.
    2. Wählen Sie den Namensbereich aus, in dem Ihre App bereitgestellt wird. Suchen Sie Ihre App, klicken Sie auf das Pfeilsymbol in Ihrer App und wählen Sie Kubernetes-Podübersicht aus.
    3. Überprüfen Sie im Abschnitt Pod-Status die Kachel Podverfügbarkeit.
    4. Überprüfen Sie die durchschnittliche Podverfügbarkeit für ein Zeitfenster von einem Tag oder einer Woche, um den Schwellenwert festzulegen.
    5. In Ihrer App-Konfigurationsdatei finden Sie die Anzahl der angeforderten Replikate. Sie können diese Zahl als Schwellenwert für das Senden von Alerts verwenden, wenn die Anzahl der verfügbaren Pods kleiner als Ihre angeforderte Anzahl von Replikaten für Ihre App ist. Wenn Sie 3 Replikate Ihrer App angefordert haben, können Sie einen Alert für den Fall festlegen, dass die Anzahl der verfügbaren Pods kleiner als die Anzahl angeforderter Replikate für eine bestimmte Zeitdauer (zum Beispiel 30 Minuten) ist. In diesem Beispiel wird der Alert ausgelöst, wenn die Podverfügbarkeit unter den 3 angeforderten Replikaten bleibt.
    6. Erstellen Sie in der Kachel Podverfügbarkeit einen Alert, indem Sie auf das Menü Optionen und anschließend auf Alert erstellen klicken. Legen Sie die Alertparameter auf der Basis des beobachteten Schwellenwerts und Ihrer angeforderten App-Replikate fest.
    7. Öffnen Sie den Abschnitt Benachrichtigung des Alertmenüs und erstellen Sie einen Alertbenachrichtigungskanal oder wählen Sie einen solchen aus.
    8. Speichern Sie Ihren Alert.
    9. Wiederholen Sie diese Schritte für alle Apps, die in Ihrem Cluster bereitgestellt sind.
    10. Testen Sie den Alert, den Sie erstellt haben, indem Sie den Schwellenwert bearbeiten, den Sie zum manuellen Auslösen des Alerts konfiguriert haben. Wenn Sie zum Beispiel einen Alert für die Podverfügbarkeit für den Fall einrichten, dass die Anzahl verfügbarer Pods für 5 Minuten kleiner als 3 ist, bearbeiten Sie Ihren Alertschwellenwert so, dass er unter 4 Pods für einen Zeitraum von 5 Minuten liegt, und wählen Sie die Option at least once aus.
    11. Überprüfen Sie, ob der Alert nach 5 Minuten ausgelöst wird. Nachdem Sie den Alert überprüft haben, setzen Sie die Werte auf die Werte zurück, die Sie zuvor konfiguriert haben.

Fehlerbehebung für persistenten Speicher bei Auslösung eines IBM Cloud Monitoring-Alerts

Wenn ein Alert ausgelöst wurde, überprüfen Sie die Alertdetails in IBM Cloud Monitoring und die Fehlerbehebungshandbücher für persistenten Speicher, Apps, Workerknoten und Cluster, um die eigentliche Fehlerursache zu finden. Die Alerts, die Sie einrichten, beziehen sich möglicherweise nicht auf ein Problem des Speicherdatenträgers, sondern auf Probleme, die innerhalb Ihrer App, auf dem Workerknoten oder im Cluster aufgetreten sind.