Stockage local-Fichier et bloc

Configurer le stockage persistant à l'aide de volumes de blocs ou de fichiers locaux pour les clusters IBM Cloud Satellite®. Vous pouvez utiliser des modèles de stockage Satellite pour créer des configurations de stockage. Lorsque vous affectez une configuration de stockage à vos clusters, les pilotes de stockage du fournisseur de stockage sélectionné sont installés dans votre cluster.

Prérequis

Avant de pouvoir créer une configuration de stockage local, vous devez identifier les nœuds de travail de vos clusters qui disposent des disques disponibles requis. Libellez ensuite ces noeuds worker de sorte que les pilotes de stockage local ne soient installés que sur ces noeuds worker.

  1. Assurez-vous de disposer des autorisations suivantes.

    • Editeur pour le service de facturation.
    • Manager et Editor pour le service Kubernetes.
    • Satellite Link Administrator et Reader pour le service Satellite.
  2. Créez un emplacement Satellite.

  3. Créez un cluster Satellite.

    • Veillez à sélectionner l'option Activer l'accès administrateur de cluster pour Satellite Config lorsque vous créez le cluster. Si vous n'activez pas l'accès administrateur (admin) pour la configuration Satellite lors de la création de votre cluster, vous devez recréer votre cluster et activer l'accès administrateur pour pouvoir déployer le stockage.
  4. Déployez l'opérateur de stockage local. Pour configurer le stockage de fichiers ou de blocs local, vous devez déployer l'opérateur de stockage local.

  5. Vérifiez que les noeuds worker de votre cluster que vous souhaitez utiliser dans votre configuration de stockage disposent d'au moins un disque local disponible en plus des disques requis par Satellite. Les disques supplémentaires ne doivent pas être formatés.

  6. Obtenez les détails des périphériques de vos noeuds worker.

  7. Libellez les noeuds worker qui disposent d'un disque disponible et que vous souhaitez utiliser dans votre configuration. Les pilotes de stockage local ne sont installés que sur les noeuds worker libellés.

Obtenir les détails de l'appareil pour votre configuration de stockage local

Lorsque vous configurez votre stockage local, vous devez préciser les périphériques que vous souhaitez utiliser. Les chemins d'accès aux périphériques que vous extrayez dans les étapes ci-après sont spécifiés en tant que paramètres lorsque vous créez votre configuration.

  1. Connectez-vous à votre cluster pour obtenir une liste des noeuds worker disponibles. Notez les noeuds worker à utiliser dans votre configuration.

    oc get nodes
    
  2. Connectez-vous à chaque noeud worker à utiliser pour votre configuration de stockage local.

    oc debug node/<node-name>
    
  3. Une fois que le pod de débogage a été déployé sur le noeud worker, exécutez les commandes ci-après pour répertorier les disques disponibles sur le noeud worker.

    1. Autorisez les binaires hôte.
        chroot /host
        ```
    1. Répertoriez vos périphériques.
    
    ```sh {: pre}
        lsblk
        ```
    1. Obtenez les détails de vos périphériques. Vérifiez que les périphériques à utiliser sont non montés et non formatés.
    
    ```sh {: pre}
        fdisk -l
        ```
    
    
  4. Répertoriez les disques de stockage par blocs disponibles sur votre noeud worker. Vous devez utiliser des disques non montés pour la configuration de stockage local. Dans l'exemple de sortie ci-après de la commande lsblk, le disque nvme2n1 n'est pas monté et ne possède pas de partition.

    NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    nvme0n1     259:3    0   100G  0 disk
    |-nvme0n1p1 259:4    0     1M  0 part
    `-nvme0n1p2 259:5    0   100G  0 part /
    nvme1n1     259:0    0    20G  0 disk
    nvme2n1     259:1    0    20G  0 disk
    nvme3n1     259:2    0 139.7G  0 disk /var/data
    
  5. Répétez les étapes précédentes pour chaque nœud de travail que vous souhaitez utiliser pour votre configuration de stockage local.

Etiquetage de vos noeuds worker

Une fois que vous avez extrait les chemins d'accès aux disques à utiliser dans votre configuration, libellez les noeuds worker contenant les disques.

  1. Obtenez les adresses IP des noeuds worker.

    oc get nodes
    
  2. Libellez les noeuds worker que vous avez extraits précédemment. Les pilotes du stockage local sont déployés sur les noeuds worker avec ce libellé. Vous pouvez utiliser le libellé storage=local-block de l'exemple de commande ou créer votre propre libellé au format key=value.

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

    Exemple de sortie

    node/<worker-IP> labeled
    node/<worker-IP> labeled
    node/<worker-IP> labeled
    
  3. Vérifiez que le libellé est ajouté aux noeuds worker à utiliser. Exécutez la commande suivante pour afficher les libellés sur vos noeuds worker et mettre en évidence le libellé que vous avez ajouté précédemment.

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

Création et affectation d'une configuration dans la console

  1. Reportez-vous aux informations de référence des paramètres.

  2. Dans la console Locations, sélectionnez le site sur lequel vous souhaitez créer une configuration de stockage.

  3. Sélectionnez Stockage > Créer une configuration de stockage

  4. Entrez un nom pour votre configuration.

  5. Sélectionnez le type de stockage.

  6. Sélectionnez la version, puis cliquez sur Suivant

  7. Si le Type de stockage que vous avez sélectionné accepte des paramètres personnalisés, entrez-les dans l'onglet Paramètres.

  8. Si le Type de stockage que vous avez sélectionné requiert des secrets, entrez-les dans l'onglet Secrets.

  9. Dans l'onglet Classes de stockage, consultez les classes de stockage déployées par la configuration ou créez une classe de stockage personnalisée.

  10. Dans l'onglet Affecter au service, sélectionnez le service auquel vous souhaitez affecter votre configuration.

  11. Cliquez sur Terminé pour affecter votre configuration de stockage.

Création d'une configuration dans l'interface de ligne de commande

  1. Passez en revue la référence de paramètre pour la version de modèle que vous souhaitez utiliser.

  2. Connectez-vous à l'interface de ligne de commande IBM Cloud.

    ibmcloud login
    
  3. Répertoriez vos emplacements Satellite et notez la colonne Managed from.

    ibmcloud sat location ls
    
  4. Ciblez la région Managed from de votre emplacement Satellite. Par exemple, pour wdc, ciblez us-east. Pour plus d'informations, voir Régions Satellite.

    ibmcloud target -r us-east
    
  5. Si vous utilisez un groupe de ressources autre que default, ciblez-le.

    ibmcloud target -g RESOURCE_GROUP
    
  6. Copiez l'un des exemples de commande suivants pour la version de modèle que vous souhaitez utiliser. Pour plus d'informations sur la commande, voir ibmcloud sat storage config create dans la référence de commande.

    Exemple de commande permettant de créer une configuration de version 1.0.0.

    ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-storage --template-version 1.0.0 --param "install-local-storage-file=INSTALL-LOCAL-STORAGE-FILE"  --param "auto-discover-devices-file=AUTO-DISCOVER-DEVICES-FILE"  --param "file-nodes-label-key=FILE-NODES-LABEL-KEY"  --param "file-nodes-label-value=FILE-NODES-LABEL-VALUE"  --param "file-devicepath=FILE-DEVICEPATH"  --param "fstype=FSTYPE"  --param "install-local-storage-block=INSTALL-LOCAL-STORAGE-BLOCK"  --param "auto-discover-devices-block=AUTO-DISCOVER-DEVICES-BLOCK"  --param "block-nodes-label-key=BLOCK-NODES-LABEL-KEY"  --param "block-nodes-label-value=BLOCK-NODES-LABEL-VALUE"  --param "block-devicepath=BLOCK-DEVICEPATH"
    
  7. Personnalisez la commande en fonction des paramètres que vous souhaitez utiliser.

  8. Exécutez la commande pour créer une configuration.

  9. Vérifiez que votre configuration a bien été créée.

    ibmcloud sat storage config get --config CONFIG
    

Création d'une configuration dans l'API

  1. Générez une clé d'API, puis demandez un jeton d'actualisation. Pour plus d'informations, voir Génération d'un jeton IAM IBM Cloud à l'aide d'une clé d'API.

  2. Passez en revue la référence de paramètre pour la version de modèle que vous souhaitez utiliser.

  3. Copiez l'un des exemples de demande suivants et remplacez les variables que vous souhaitez utiliser.

    Exemple de demande de création d'une configuration de version 1.0.0.

    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-storage\", \"storage-template-version\": \"1.0.0\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"INSTALL-LOCAL-STORAGE-FILE\", { \"entry.name\": \"AUTO-DISCOVER-DEVICES-FILE\", { \"entry.name\": \"FILE-NODES-LABEL-KEY\", { \"entry.name\": \"FILE-NODES-LABEL-VALUE\", { \"entry.name\": \"FILE-DEVICEPATH\", { \"entry.name\": \"FSTYPE\", { \"entry.name\": \"INSTALL-LOCAL-STORAGE-BLOCK\", { \"entry.name\": \"AUTO-DISCOVER-DEVICES-BLOCK\", { \"entry.name\": \"BLOCK-NODES-LABEL-KEY\", { \"entry.name\": \"BLOCK-NODES-LABEL-VALUE\", { \"entry.name\": \"BLOCK-DEVICEPATH\",\"user-secret-parameters\": }
    

Création d'une tâche dans l'interface de ligne de commande (CLI)

  1. Répertoriez vos configurations de stockage et notez celle que vous souhaitez attribuer à vos clusters.

    ibmcloud sat storage config ls
    
  2. Récupérez l'ID du cluster, du groupe de clusters ou du service auquel vous souhaitez attribuer un espace de stockage.

    Pour vous assurer que votre cluster est enregistré dans Satellite Config ou pour créer des groupes, reportez-vous à la rubrique Configuration des clusters à utiliser avec Satellite Config.

    Exemple de commande permettant de répertorier les groupes de clusters.

    ibmcloud sat group ls
    

    Exemple de commande permettant de répertorier les clusters.

    ibmcloud oc cluster ls --provider satellite
    

    Exemple de commande permettant de répertorier les services Satellite.

    ibmcloud sat service ls --location LOCATION
    
  3. Affectez votre configuration de stockage au cluster, au groupe ou au service que vous avez extrait précédemment. Pour plus d'informations, consultez la commandeibmcloud sat storage assignment create.

    Exemple de commande permettant d'affecter une configuration à un groupe de clusters.

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

    Exemple de commande permettant d'affecter une configuration à un cluster.

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

    Exemple de commande permettant d'affecter une configuration à un cluster de services.

    ibmcloud sat storage assignment create --service-cluster-id CLUSTER --config CONFIG --name NAME
    
  4. Vérifiez que votre affectation a été créée.

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

Création d'une affectation de stockage dans l'API

  1. Copiez l'un des exemples de demande suivants.

    Exemple de demande d'affectation d'une configuration à un 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\"}"
    

    Exemple de demande d' affectation de la configuration à un groupe de clusters.

    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. Remplacez les variables par vos détails et exécutez la demande.

  3. Vérifiez que l'affectation a été créée en répertoriant vos affectations.

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

Mise à jour des affectations de stockage dans la console

Vous pouvez utiliser la consoleSatellite pour appliquer les dernières mises à jour de correctif à vos affectations.

  1. Dans la page Emplacements de la console Satellite, sélectionnez votre emplacement.

  2. Cliquez sur l'onglet Stockage pour afficher vos configurations.

  3. Cliquez sur la configuration que vous souhaitez mettre à jour.

  4. Cliquez sur l'icône Informations (i) pour appliquer la dernière révision ou le dernier correctif.

  5. Facultatif: activez les mises à jour de correctif automatiques pour votre affectation de stockage. L'activation des mises à jour de correctifs automatiques garantit que votre affectation dispose toujours des derniers correctifs de sécurité.

Si vous activez les mises à jour de correctifs automatiques, vous devez toujours appliquer les mises à jour majeures manuellement.

Mise à niveau manuelle des affectations dans l'interface de ligne de commande

Mettez à niveau une affectation pour utiliser la dernière révision de modèle de stockage.

  1. Répertoriez vos affectations de stockage Satellite, notez l'affectation Satellite que vous souhaitez mettre à niveau.

    ibmcloud sat storage assignment ls
    
  2. Répertoriez les modèles de stockage Satellite pour afficher les dernières versions disponibles.

    ibmcloud sat storage template ls
    
  3. Mettez à niveau l'affectation Satellite.

    Exemple de commande permettant de mettre à niveau une affectation.

    ibmcloud sat storage assignment upgrade --assignment ASSIGNMENT
    

Activation des mises à jour de correctifs automatiques pour les configurations et les affectations dans l'interface de ligne de commande

Vous pouvez utiliser l'interface de ligne de commande sat storage assignment autopatch enable pour activer les mises à jour de correctif automatiques pour vos affectations. L'activation des mises à jour de correctif automatiques applique automatiquement les dernières révisions de modèle de stockage (correctifs). Vous devez toujours appliquer les mises à jour majeures manuellement.

  1. Permet d'afficher la liste des configurations de stockage Satellite. Notez l'ID de configuration.

    ibmcloud sat storage assignment ls
    
  2. Exécutez l'un des exemples de commande suivants pour activer les mises à jour de correctifs automatiques pour votre configuration et les affectations qui lui sont associées. Saisissez l'ID de configuration que vous avez récupéré à l'étape précédente.

    Exemple de commande permettant d'activer les mises à jour de correctif automatiques pour une affectation.

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

    Exemple de commande permettant d'activer les mises à jour de correctifs automatiques pour toutes les affectations de stockage dans une configuration donnée.

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

    Exemple de commande permettant de désactiver les mises à jour de correctifs automatiques pour toutes les affectations sous une configuration spécifique.

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

    Exemple de commande permettant de désactiver les mises à jour de correctifs automatiques pour une affectation unique et une configuration spécifique.

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

    Exemple de commande permettant de désactiver les mises à jour de correctifs automatiques pour une affectation multiple et une configuration spécifique.

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

Mise à niveau manuelle des configurations dans l'interface de ligne de commande

Vous pouvez mettre à niveau vos configurations de stockage Satellite pour obtenir la dernière révision du modèle de stockage au sein de la même version majeure.

  1. Répertoriez vos configurations de stockage Satellite, notez la configuration Satellite à mettre à niveau.

    ibmcloud sat storage config ls
    
  2. Mettez à niveau la configuration Satellite. Notez que seule la configuration est mise à jour. Si vous souhaitez mettre à niveau les affectations qui utilisent cette configuration, vous pouvez spécifier l'option --include-assignments ou mettre à jour manuellement chaque affectation à l'aide de la commande assignment update.

    Exemple de commande permettant de mettre à niveau une configuration vers la dernière révision.

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

    Exemple de commande permettant de mettre à niveau une configuration et les affectations associées à la dernière révision.

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

Mise à niveau d'une configuration et d'affectations dans l'API

Vous pouvez utiliser l'API /v2/storage/satellite/updateAssignment pour mettre à jour vos affectations avec de nouveaux clusters ou groupes de clusters. Définissez updateConfigVersion sur true pour appliquer la mise à jour de la révision.

  1. Copiez l'exemple de demande suivant et remplacez les variables pour les groupes de clusters et les affectations que vous souhaitez mettre à jour.

    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. Exécutez la demande.

  3. Obtenez les détails de votre affectation pour vérifier la mise à jour.

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

Activation des mises à jour de correctif automatiques pour les affectations dans l'API

Vous pouvez utiliser l'API /v2/storage/satellite/setAssignmentAutoupgrade pour activer les mises à jour de correctif automatiques pour vos affectations. L'activation des mises à jour de correctif automatiques applique automatiquement les dernières révisions de modèle de stockage (correctifs). Vous devez toujours appliquer les mises à jour majeures manuellement.

  1. Copiez l'exemple de demande suivant et remplacez les variables pour les groupes de clusters et les affectations que vous souhaitez mettre à jour.

    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. Exécutez la demande.

  3. Obtenez les détails de votre affectation pour vérifier la mise à niveau.

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

Déploiement d'une application utilisant le stockage local

Une fois que vous avez créé une configuration de stockage local et que vous l'avez attribuée à vos clusters, vous pouvez alors créer une application qui utilise votre stockage en blocs local.

Vous pouvez mapper vos réservations de volume persistant à des volumes persistants spécifiques en ajoutant des libellés à ces derniers. Pour plus d’informations, consultez la documentation d’ Kubernetes relative aux sélecteurs.

  1. Sauvegardez le fichier YAML ci-après de la réservation de volume persistant dans un fichier appelé local-pvc.yaml sur votre machine locale.

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: local-pvc
    spec:
      accessModes:
      - ReadWriteOnce
      volumeMode: Block
      resources:
      requests:
        storage: 20Gi # Important: Ensure that size of your claim is not larger than the local disk.
      storageClassName: sat-local-block-gold
    
  2. Créez la PVC dans votre cluster.

    oc create -f local-pvc.yaml
    
  3. Vérifiez que votre réservation de volume persistant a été créée. Notez que le volumeBindingMode de la classe de stockage sat-local-block-gold est waitForFirstConsumer.

    oc get pvc | grep local
    

    Pour vous assurer que vos pods sont planifiés sur des noeuds worker disposant de stockage ou que les applications qui requièrent du stockage ne sont pas préemptées par d'autres pods, vous pouvez spécifier nodeAffinity et configurer la priorité des pods. Pour plus d’informations, consultez la documentation d’ Kubernetes relative à la priorité et à la préemption des pods, ainsi qu’à la configuration de l’affinité des nœuds.

  4. Déployez un pod d'application qui utilise votre réservation de volume persistant de stockage local. Sauvegardez l'exemple de fichier YAML d'application ci-après dans un fichier appelé app.yaml sur votre machine locale. Dans cet exemple, la spécification nodeAffinity garantit que ce pod n'est planifié que sur un nœud de travail portant l'étiquette spécifiée.

    apiVersion: v1
    kind: Pod
    metadata:
      name: app
    spec:
      affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchExpressions:
            - key: storage # Enter the 'key' of the worker node label created earlier.
              operator: In
              values:
              - local-block # Enter the 'value' of the worker label that you created earlier.
      containers:
        - name: nginx
          image: nginx
          volumeDevices:
            - name: data
              devicePath: "/dev/nvme2n1" # Enter the path to your local device.
      volumes:
        - name: data
          persistentVolumeClaim:
          claimName: local-pvc
    
  5. Créez le pod d'application dans votre cluster.

    oc create -f app.yaml
    
  6. Connectez-vous à votre pod d'application et vérifiez que vous pouvez écrire sur votre disque local.

    kubectl exec <pod_name> -it bash
    
  7. Accédez au dossier dev.

    cd dev
    
  8. Exécutez la commande ls -lR <device-path> pour vérifier les détails de votre périphérique et vous assurer que votre pod d'application dispose des droits de lecture et d'écriture sur votre périphérique bloc, ce qui est indiqué par brw dans la sortie de la commande.

    ls -lR /dev/nvme2n1
    

    Exemple de sortie

    brw-rw-rw-. 1 root disk 202, 32 Mar  3 21:24 /dev/nvme2n1
    
  9. Facultatif Exécutez les commandes ci-après pour écrire des données dans votre périphérique par blocs.

    1. Écrivez sur "block_data" le périphérique de stockage local que vous avez monté dans votre application. Remplacez <device-path> par le chemin d'accès à votre périphérique de stockage. Exemple : /dev/nvme2n1.
        kubectl exec <pod_name> -- bash -c "echo "block_data" | dd conv=unblock of=<device-path>"
        ```
    2. Vérifiez que les données sont écrites dans votre périphérique. Remplacez `<device-path>` par le chemin d'accès vers votre unité de stockage. Exemple : `/dev/nvme2n1`.
    
    ```sh {: pre}
        kubectl exec <pod_name> -- bash -c "od -An -c -N 10 <device-path>"
        ```
        Exemple de sortie
    
        ```sh {: screen}
        b   l   o   c   k   _   d   a   t   a
        ```
    
    
    
  10. Supprimez le pod test.

    oc delete pod <pod_name>
    

Suppression d'une configuration de stockage depuis la console

  1. Dans le tableau de bord de stockage Satellite; sélectionnez la configuration de stockage à supprimer.
  2. Sélectionnez Actions > Supprimer.
  3. Entrez le nom de votre configuration de stockage.
  4. Sélectionnez Supprimer.

Suppression de la configuration du stockage local à partir de la ligne de commande

  1. Répertoriez les ressources de l'espace de noms local-storage. Lorsque vous supprimez votre affectation de stockage, ces ressources sont supprimées.

    oc get all -n local-storage
    

    Exemple de sortie

    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. Répertoriez vos affectations de stockage et recherchez celle que vous avez utilisée pour votre cluster.

    ibmcloud sat storage assignment ls (--cluster CLUSTER | --config CONFIG | --location LOCATION | --service-cluster-id CLUSTER)
    
  3. Supprimez l'affectation. Une fois que l'affectation a été supprimée, les pods du pilote de stockage local et les classes de stockage sont supprimés de tous les clusters qui faisaient partie de l'affectation de stockage.

    ibmcloud sat storage assignment rm --assignment <assignment_ID>
    
  4. Répertoriez les ressources de l'espace de noms local-storage et vérifiez que les pods du pilote de stockage local ont été supprimés.

    oc get all -n local-storage
    

    Exemple de sortie

    No resources found in local-storage namespace.
    
  5. Répertoriez les classes de stockage de votre cluster et vérifiez que les classes de stockage local ont été supprimées.

    oc get sc
    
  6. Facultatif : supprimez la configuration de stockage.

    1. Répertoriez les configurations de stockage.
        ibmcloud sat storage config ls
        ```
    2. Supprimez la configuration de stockage.
    
    ```sh {: pre}
        ibmcloud sat storage config rm --config <config_name>
        ```
    
  7. Répertoriez vos réservations de volume persistant et notez le nom de celle à supprimer.

    oc get pvc
    
  8. Supprimez les pods qui montent actuellement la réservation de volume persistant.

    1. Répertoriez tous les pods qui montent actuellement la réservation de volume persistant à supprimer. Si aucun pod n'est renvoyé, aucun pod n'utilise actuellement votre réservation de volume persistant.
        oc get pods --all-namespaces -o=jsonpath='{range .items[*]}{"\n"}{.metadata.name}{":\t"}{range .spec.volumes[*]}{.persistentVolumeClaim.claimName}{" "}{end}{end}' | grep "<pvc_name>"
        ```
        Exemple de sortie
    
        ```sh {: screen}
        app    sat-local-block-gold
        ```
    
    2. Supprimez le pod utilisant la PVC. Si le pod fait partie d'un déploiement, retirez ce déploiement.
    
    ```sh {: pre}
        oc delete pod <pod_name>
        ```
        ```sh {: pre}
        oc delete deployment <deployment-name>
        ```
    3. Vérifiez que le pod ou le déploiement a été supprimé.
    
    ```sh {: pre}
        oc get pods
        ```
        ```sh {: pre}
        oc get deployments
        ```
    
  9. Supprimez la réservation de volume persistant. Toutes les classes de stockage par blocs local fournies par IBM étant spécifiées avec une règle de réservation Retain, le volume persistant et la réservation de volume persistant ne sont pas supprimés automatiquement lorsque vous supprimez votre application ou déploiement.

    oc delete pvc <pvc-name>
    
  10. Vérifiez que votre réservation de volume persistant a été supprimée.

    oc get pvc
    
  11. Répertoriez vos volumes persistants et notez le nom de celui à supprimer.

    oc get pv
    
  12. Supprimez les volumes persistants. Une fois que vos volumes persistants ont été supprimés, vos disques deviennent disponibles pour les autres charges de travail.

    oc delete pv <pv-name>
    
  13. Vérifiez que votre volume persistant a été supprimé.

    oc get pv
    

Référence de paramètre

Référence du paramètre 1.0.0

Tableau 1. 1.0.0 référence des paramètres
Nom d'affichage Option CLI Type Description Valeur par défaut
Installer le pilote de stockage de fichiers install-local-storage-file Config Définissez sur 'true' pour installer le pilote de stockage de fichiers. true
Reconnaissance automatique de volume pour le stockage de fichiers auto-discover-devices-file Config Affectez la valeur 'true' si vous souhaitez reconnaître et utiliser automatiquement les volumes sur vos noeuds worker pour le stockage de fichiers. false
Clé de libellé de noeud worker de stockage de fichiers file-nodes-label-key Config Libellé 'key' du noeud worker 'key = value' que vous souhaitez utiliser pour le stockage de fichiers. N/A
Valeur de libellé de noeud worker de stockage de fichiers file-nodes-label-value Config La 'valeur' du libellé 'key = value' du noeud worker que vous souhaitez utiliser pour le stockage de fichiers. N/A
Chemin d'unité pour le stockage de fichiers file-devicepath Config Chemin d'accès aux unités de stockage sur votre noeud worker que vous souhaitez utiliser pour le stockage de fichiers. Exemple : '/dev/sdc'. Cette option est requise lorsque 'auto-discover-devices-file' est défini sur 'false'. N/A
Type de système de fichiers fstype Config Type du système de fichiers. Spécifiez 'ext3', 'ext4' ou 'xfs'. ext4
Installer le pilote de stockage par blocs install-local-storage-block Config Définissez sur 'true' pour installer le pilote de stockage par blocs. true
Reconnaissance automatique de volume pour le stockage par blocs auto-discover-devices-block Config Affectez la valeur 'true' si vous souhaitez reconnaître et utiliser automatiquement les volumes sur vos noeuds worker pour le stockage par blocs. false
Clé de libellé de noeud worker de stockage par blocs block-nodes-label-key Config Libellé 'key' du noeud worker 'key = value' que vous souhaitez utiliser pour le stockage par blocs. N/A
Valeur de libellé de noeud worker de stockage par blocs block-nodes-label-value Config Libellé 'value' du noeud worker 'key = value' que vous souhaitez utiliser pour le stockage par blocs. N/A
Chemin d'unité pour le bloc de stockage local block-devicepath Config Chemin d'accès aux unités de stockage sur votre noeud worker que vous souhaitez utiliser pour le stockage par blocs. Exemple : '/dev/sdc'. Cette option est requise lorsque 'auto-discover-devices-block' est défini sur false. N/A