Eliminación de « OpenShift » Data Foundation
Revise los temas siguientes para gestionar el despliegue de OpenShift Data Foundation.
Eliminación de ODF de sus apps
Para eliminar ODF de sus apps, puede suprimir su app o despliegue y las PVC correspondientes.
Si desea eliminar completamente ODF y todos los datos, puede eliminar el clúster de almacenamiento.
- Liste las PVC y anote el nombre de la PVC y el PV correspondiente que desea eliminar.
oc get pvc - Elimine los pods que montan la PVC.
- Obtenga una lista de todos los pods que actualmente montan la PVC que desea suprimir. Si no se devuelven pods, es que no tiene ningún pod que utilice actualmente la PVC.
oc get pods --all-namespaces -o=jsonpath='{range .items[*]}{"\n"}{.metadata.name}{":\t"}{range .spec.volumes[*]}{.persistentVolumeClaim.claimName}{" "}{end}{end}' | grep "<pvc_name>" ``` Salida de ejemplo ```sh {: screen} app ocs-storagecluster-cephfs ``` 2. Elimine el pod que utiliza la PVC. Si el pod forma parte de un despliegue, elimine el despliegue. ```sh {: pre} oc delete pod <pod_name> ``` ```sh {: pre} oc delete deployment <deployment_name> ``` 3. Verifique que el pod o el despliegue se ha eliminado. ```sh {: pre} oc get pods ``` ```sh {: pre} oc get deployments ``` - Opcional Suprima la PVC. Al suprimir la PVC, se suprimen los datos de la app del volumen de almacenamiento.
oc delete pvc <pvc_name>
Eliminación del recurso personalizado de ODF
Complete los pasos siguientes para eliminar los recursos de ODF del clúster.
Los pasos siguientes dan lugar a la pérdida de datos. Haga una copia de seguridad de los datos en sus volúmenes locales antes de eliminar el despliegue de ODF.
Cuando se suprime el recurso personalizado OcsCluster del clúster, se suprimen los siguientes recursos. Además, las apps que requieren acceso a los datos de los volúmenes locales pueden experimentar un tiempo de inactividad. - Pods
de controlador de ODF. - Los PVC de MON y OSD. - Todos los datos de sus volúmenes. Sin embargo, si ha creado las PVC utilizando la clase de almacenamiento de NooBaa y las apps han escrito datos en el almacenamiento de copia de seguridad, los
datos del almacenamiento de copia de seguridad no se suprimen.
- Obtenga el nombre del recurso personalizado
OcsCluster.
Ejemplo de salida de un recurso personalizado llamadooc get ocsclusterocscluster-vpc.NAME AGE ocscluster-vpc 4s - Suprima el recurso personalizado
OcsCluster. Sustituya<ocscluster_name>por el nombre del recurso personalizado.
Ejemplo de comando para un recursooc delete ocscluster <ocscluster_name>OcsClusterpersonalizado llamadoocscluster-vpc.oc delete ocscluster ocscluster-vpc - Suprima todas las PVC que ha creado.
oc get pvc - Opcional Si no desea reinstalar ODF, puede Eliminar el complemento ODF del clúster.
Limpieza de ODF
- Copie uno de los siguientes scripts de limpieza basados en el despliegue de ODF.
- VPC o Satellite con discos suministrados dinámicamente Limpie los recursos de Kubernetes restantes del clúster. Guarde el script siguiente en un archivo denominado
cleanup.shen la máquina local.
#!/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 ``` * **Clústeres clásicos o Satellite clústeres con discos locales** Limpie los recursos de Kubernetes restantes del clúster. Guarde el script siguiente en un archivo denominado `cleanup.sh` en la máquina local. ```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 o Satellite con discos suministrados dinámicamente Limpie los recursos de Kubernetes restantes del clúster. Guarde el script siguiente en un archivo denominado
- Ejecute el script
cleanup.sh.sh ./cleanup.sh - **** Clústeres clásicos o clústeres de Satellite con discos locales** Después de ejecutar el script de limpieza, inicie sesión en cada nodo trabajador y ejecute los mandatos siguientes.
- Deploy a debug pod and run
chroot /host.
oc debug node/<node_name> -- chroot /host ``` 1. Ejecute el mandato siguiente para eliminar los archivos o directorios de las vías de acceso especificadas. Repita este paso para cada nodo trabajador que haya utilizado en la configuración de OCS. ```sh {: codeblock} rm -rvf /var/lib/rook /mnt/local-storage ``` Salida de ejemplo: ```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' ``` - Deploy a debug pod and run
- Opcional: Clústeres clásicos o clústeres de Satellite con discos locales Si ya no desea utilizar los volúmenes locales que ha utilizado en la configuración, puede suprimirlos del clúster. Liste los PV locales.
Salida de ejemplo: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 - Suprima los PV locales.
oc delete pv <pv_name> <pv_name> <pv_name> - Después de suprimir las PVC y los PV, también debe suprimir los volúmenes de almacenamiento de la cuenta. Para localizar y eliminar volúmenes de almacenamiento no utilizados en su cuenta, consulte ¿Por qué sigo viendo cargos por dispositivos de almacenamiento en bloque después de suprimir mi clúster?.
Desinstalación del complemento OpenShift Data Foundation
Desinstalación del complemento OpenShift Data Foundation desde la consola
Para eliminar el complemento OpenShift Data Foundation del clúster, realice los pasos siguientes.
Si desea eliminar todos los recursos y datos de ODF del clúster, elimine las CRD antes de desinstalar el complemento.
- En la consola, selecciona el clúster del que deseas eliminar el complemento « OpenShift Data Foundation».
- Desplácese hasta los complementos instalados.
- En la tarjeta de OpenShift Data Foundation, pulse el icono Acciones y, a continuación, Desinstalar.
Desinstalación del complemento OpenShift Data Foundation desde la CLI
Puedes desinstalar el complemento « OpenShift Data Foundation» de tu clúster mediante la consola o la CLI.
Si desea eliminar todos los recursos y datos de ODF del clúster, elimine las CRD antes de desinstalar el complemento.
- Desinstale el complemento.
ibmcloud oc cluster addon disable openshift-container-storage -c <cluster_name> - Verifique que el complemento se ha eliminado.
ibmcloud oc cluster addon ls -c <cluster_name>
Resolución de problemas de ODF
Para recopilar la información para resolver problemas de ODF, puede utilizar el mandato oc adm must-gather y especificar la imagen de ODF. Para obtener más información, consulte Recopilación de datos de clúster.
Mandato de ejemplo:
oc adm must-gather --image=registry.redhat.io/ocs4/ocs-must-gather-rhel8:latest --dest-dir=ocs_mustgather
Puede utilizar la caja de herramientas de comunidad Rook para depurar los problemas con el clúster Ceph. Para obtener más información, consulta la documentación de « Rook ».
Para obtener más información, revise los temas de resolución de problemas comunes.