When experimenting with something like ceph, installing it, making changes, uninstalling and reinstalling … you will find that more advanced apps tend to implement finalizers making a full uninstall rather challenging. More complex apps tend to have an uninstaller script for just this reason. When lacking such a script though, here is a generic script which can take care of a lot, or all of the clean up work:
** Note, you are entering a danger zone. **
#!/bin/bash
if [ "$1" == "" ]
then
  echo "Syntax:"
  echo ""
  echo "$0 <searchstr>"
  exit 1
fi
CRDS=`kubectl get crd --no-headers | grep $1 | cut -d ' ' -f 1`
array_crds=( $CRDS )
for crd in "${array_crds[@]}"
do
  echo ""
  echo $crd
  RESOURCES=`kubectl get $crd --no-headers | grep $1 | cut -d ' ' -f 1`
  array_resources=( $RESOURCES )
  for next in "${array_resources[@]}"
  do
    echo $next
    kubectl patch $crd $next -p '{"metadata":{"finalizers":null}}' --type=merge
    kubectl delete $crd $next
  done
done