Suppression d' OpenShift Data Foundation
Reportez-vous aux rubriques ci-dessous pour gérer votre déploiement OpenShift Data Foundation.
Retrait d'ODF de vos applications
Pour retirer ODF de vos applications, vous pouvez supprimer votre application ou votre déploiement et les réservations de volume persistant correspondantes.
Si vous souhaitez retirer intégralement ODF et toutes vos données, vous pouvez retirer votre cluster de stockage.
- Répertoriez vos réservations de volume persistant et notez les noms de la réservation de volume persistant et du volume persistant correspondant à supprimer.
oc get pvc - Supprimez les pods qui montent la PVC.
- 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 ocs-storagecluster-cephfs ``` 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 ``` - Facultatif : supprimez la réservation de volume persistant. Lorsque vous supprimez la réservation de volume persistant, vos données d'application sont supprimées du volume de stockage.
oc delete pvc <pvc_name>
Retrait de la ressource personnalisée ODF
Pour retirer les ressources ODF de votre cluster, procédez comme suit :
Les étapes suivantes entraînent une perte de données. Sauvegardez les données sur vos volumes locaux avant de retirer votre déploiement ODF.
Lorsque vous supprimez la ressource personnalisée OcsCluster de votre cluster, les ressources répertoriées ci-après sont supprimées. De plus, toutes les applications qui requièrent un accès aux données de vos volumes locaux peuvent
être indisponibles. - Nacelles de conducteur ODF. - Les PPV MON et OSD. - Toutes les données de vos volumes. Cependant, si vous avez créé des PVC à l'aide de la classe de stockage NooBaa et que vos applications ont écrit des données sur votre
magasin de sauvegarde, celles-ci ne sont pas supprimées.
- Obtenez le nom de votre ressource personnalisée
OcsCluster.
Exemple de sortie pour une ressource personnalisée nomméeoc get ocsclusterocscluster-vpc.NAME AGE ocscluster-vpc 4s - Supprimez votre ressource personnalisée
OcsCluster. Remplacez<ocscluster_name>par le nom de votre ressource personnalisée.
Exemple de commande pour une ressource personnaliséeoc delete ocscluster <ocscluster_name>OcsClusternomméeocscluster-vpc.oc delete ocscluster ocscluster-vpc - Supprimez toutes les réservations de volume persistant que vous avez créées.
oc get pvc - Facultatif Si vous ne souhaitez pas réinstaller ODF, vous pouvez Supprimez le module complémentaire ODF de votre cluster.
Nettoyage d'ODF
- Copiez l'un des scripts de nettoyage ci-dessous en fonction de votre déploiement ODF.
- VPC ou Satellite avec des disques mis à disposition de manière dynamique : nettoyez les ressources Kubernetes restantes sur votre cluster. Sauvegardez le script suivant dans un fichier appelé
cleanup.shsur la machine locale :
#!/bin/bash ocscluster_name=`oc get ocscluster | awk 'NR==2 {print $1}'` oc delete ocscluster --all --wait=false kubectl patch ocscluster/$ocscluster_name -p '{"metadata":{"finalizers":[]}}' --type=merge oc delete ns openshift-storage --wait=false sleep 20 kubectl -n openshift-storage patch persistentvolumeclaim/db-noobaa-db-0 -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch cephblockpool.ceph.rook.io/ocs-storagecluster-cephblockpool -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch cephcluster.ceph.rook.io/ocs-storagecluster-cephcluster -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch cephfilesystem.ceph.rook.io/ocs-storagecluster-cephfilesystem -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch cephobjectstore.ceph.rook.io/ocs-storagecluster-cephobjectstore -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch cephobjectstoreuser.ceph.rook.io/noobaa-ceph-objectstore-user -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch cephobjectstoreuser.ceph.rook.io/ocs-storagecluster-cephobjectstoreuser -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch noobaa/noobaa -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch backingstores.noobaa.io/noobaa-default-backing-store -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch bucketclasses.noobaa.io/noobaa-default-bucket-class -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch storagecluster.ocs.openshift.io/ocs-storagecluster -p '{"metadata":{"finalizers":[]}}' --type=merge sleep 20 oc delete pods -n openshift-storage --all --force --grace-period=0 sleep 20 for item in `oc get csiaddonsnodes.csiaddons.openshift.io -n openshift-storage| awk 'NR>1 {print $1}'`; do kubectl -n openshift-storage patch csiaddonsnodes.csiaddons.openshift.io/$item -p '{"metadata":{"finalizers":[]}}' --type=merge done kubectl -n openshift-storage patch configmap/rook-ceph-mon-endpoints -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch secret/rook-ceph-mon -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch storagesystems.odf.openshift.io/ocs-storagecluster-storagesystem -p '{"metadata":{"finalizers":[]}}' --type=merge ``` * **Clusters classiques ou clusters Satellite avec disques locaux** : nettoyez les ressources Kubernetes restantes sur votre cluster. Sauvegardez le script suivant dans un fichier appelé `cleanup.sh` sur la machine locale : ```sh {: codeblock} #!/bin/bash ocscluster_name=`oc get ocscluster | awk 'NR==2 {print $1}'` oc delete ocscluster --all --wait=false kubectl patch ocscluster/$ocscluster_name -p '{"metadata":{"finalizers":[]}}' --type=merge oc delete ns openshift-storage --wait=false sleep 20 kubectl -n openshift-storage patch persistentvolumeclaim/db-noobaa-db-0 -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch cephblockpool.ceph.rook.io/ocs-storagecluster-cephblockpool -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch cephcluster.ceph.rook.io/ocs-storagecluster-cephcluster -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch cephfilesystem.ceph.rook.io/ocs-storagecluster-cephfilesystem -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch cephobjectstore.ceph.rook.io/ocs-storagecluster-cephobjectstore -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch cephobjectstoreuser.ceph.rook.io/noobaa-ceph-objectstore-user -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch cephobjectstoreuser.ceph.rook.io/ocs-storagecluster-cephobjectstoreuser -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch noobaa/noobaa -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch backingstores.noobaa.io/noobaa-default-backing-store -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch bucketclasses.noobaa.io/noobaa-default-bucket-class -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch storagecluster.ocs.openshift.io/ocs-storagecluster -p '{"metadata":{"finalizers":[]}}' --type=merge sleep 20 oc delete pods -n openshift-storage --all --force --grace-period=0 if oc get po -n openshift-local-storage|grep -operator; then LOCAL_NS=openshift-local-storage else LOCAL_NS=local-storage fi oc delete ns $LOCAL_NS --wait=false sleep 20 kubectl -n $LOCAL_NS patch localvolume.local.storage.openshift.io/local-block -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n $LOCAL_NS patch localvolume.local.storage.openshift.io/local-file -p '{"metadata":{"finalizers":[]}}' --type=merge sleep 20 oc delete pods -n $LOCAL_NS --all --force --grace-period=0 for item in `oc get csiaddonsnodes.csiaddons.openshift.io -n openshift-storage| awk 'NR>1 {print $1}'`; do kubectl -n openshift-storage patch csiaddonsnodes.csiaddons.openshift.io/$item -p '{"metadata":{"finalizers":[]}}' --type=merge done kubectl -n openshift-storage patch configmap/rook-ceph-mon-endpoints -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch secret/rook-ceph-mon -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch storagesystems.odf.openshift.io/ocs-storagecluster-storagesystem -p '{"metadata":{"finalizers":[]}}' --type=merge ``` - VPC ou Satellite avec des disques mis à disposition de manière dynamique : nettoyez les ressources Kubernetes restantes sur votre cluster. Sauvegardez le script suivant dans un fichier appelé
- Exécutez le script
cleanup.sh.sh ./cleanup.sh - **Clusters classiques ou clusters Satellite avec disques locaux : après avoir exécuté le script de nettoyage, connectez-vous à chaque noeud worker et exécutez les commandes suivantes :
- Déployez un pod de débogage et exécutez
chroot /host.
oc debug node/<node_name> -- chroot /host ``` 1. Exécutez la commande suivante pour supprimer les fichiers ou répertoires dans les chemins spécifiés. Répétez cette étape pour chaque noeud worker que vous avez utilisé dans votre configuration OCS. ```sh {: codeblock} rm -rvf /var/lib/rook /mnt/local-storage ``` Exemple de sortie : ```sh {: codeblock} removed '/var/lib/rook/openshift-storage/log/ocs-deviceset-0-data-0-6fgp6/ceph-volume.log' removed directory: '/var/lib/rook/openshift-storage/log/ocs-deviceset-0-data-0-6fgp6' removed directory: '/var/lib/rook/openshift-storage/log' removed directory: '/var/lib/rook/openshift-storage/crash/posted' removed directory: '/var/lib/rook/openshift-storage/crash' removed '/var/lib/rook/openshift-storage/client.admin.keyring' removed '/var/lib/rook/openshift-storage/openshift-storage.config' removed directory: '/var/lib/rook/openshift-storage' removed directory: '/var/lib/rook' removed '/mnt/local-storage/localblock/nvme3n1' removed directory: '/mnt/local-storage/localblock' removed '/mnt/local-storage/localfile/nvme2n1' removed directory: '/mnt/local-storage/localfile' removed directory: '/mnt/local-storage' ``` - Déployez un pod de débogage et exécutez
- Facultatif - Clusters classiques ou clusters Satellite avec des disques locaux : si vous ne souhaitez plus utiliser les volumes locaux que vous avez définis dans votre configuration, vous pouvez les supprimer
du cluster. Répertoriez les volumes persistants locaux.
Exemple de sortie :oc get pvlocal-pv-180cfc58 139Gi RWO Delete Available localfile 11m local-pv-67f21982 139Gi RWO Delete Available localfile 12m local-pv-80c5166 100Gi RWO Delete Available localblock 12m local-pv-9b049705 139Gi RWO Delete Available localfile 12m local-pv-b09e0279 100Gi RWO Delete Available localblock 12m local-pv-f798e570 100Gi RWO Delete Available localblock 12m - Supprimez les volumes persistants locaux.
oc delete pv <pv_name> <pv_name> <pv_name> - Après avoir supprimé vos réservations de volume persistant et vos volumes persistants, vous devez également supprimer les volumes de stockage de votre compte. Pour localiser et supprimer des volumes de stockage inutilisés dans votre compte, voir Pourquoi est-ce que je vois toujours des frais pour les unités de stockage par blocs après la suppression de mon cluster?.
Désinstallation du module complémentaire OpenShift Data Foundation
Désinstallation du module complémentaire OpenShift Data Foundation à partir de la console
Pour retirer le module complémentaire OpenShift Data Foundation de votre cluster, procédez comme suit :
Si vous souhaitez supprimer toutes les ressources et données ODF de votre cluster, supprimez les CRD avant de désinstaller le module complémentaire.
- Dans la console, sélectionnez le cluster pour lequel vous souhaitez supprimer le module complémentaire « OpenShift Data Foundation ».
- Faites défiler jusqu'à vos modules complémentaires installés.
- Sur la carte OpenShift Data Foundation, cliquez sur l'icône Actions, puis sur Désinstaller.
Désinstallation du module complémentaire OpenShift Data Foundation à partir de l'interface CLI
Vous pouvez désinstaller le module complémentaire « OpenShift Data Foundation » de votre cluster à l'aide de la console ou de l'interface de ligne de commande (CLI).
Si vous souhaitez supprimer toutes les ressources et données ODF de votre cluster, supprimez les CRD avant de désinstaller le module complémentaire.
- Désinstallez le module complémentaire.
ibmcloud oc cluster addon disable openshift-container-storage -c <cluster_name> - Vérifiez que le module complémentaire a bien été retiré.
ibmcloud oc cluster addon ls -c <cluster_name>
Identification et résolution des problèmes liés à ODF
Si vous souhaitez collecter des informations pour identifier et résoudre des problèmes liés à ODF, vous pouvez utiliser la commande oc adm must-gather et indiquer l'image ODF. Pour plus d'informations, voir Gathering data about your cluster.
Exemple de commande :
oc adm must-gather --image=registry.redhat.io/ocs4/ocs-must-gather-rhel8:latest --dest-dir=ocs_mustgather
Vous pouvez utiliser la boîte à outils de la communauté Rook pour déboguer les problèmes liés à votre cluster Ceph. Pour plus d'informations, consultez la documentation d' Rook.
Pour plus d'informations, reportez-vous aux rubriques d'identification et de résolution des problèmes courants.