hello guys,
i spun up a digitalocean kubernetes with 3 worker nodes. i would prefer to use nfs for persistent volume provisioning. so i created a nfs server and deployed my external provisioner connected to it. i check that everything works well
here is the question: when i get “kubectl get sc” there are 2 default storageClass in my cluster. one my external provisioner, and one digitalocean csi…is it enough to remove the csi daemonset (kubectl delete ds -n kube-system) or any other consideration is needed ?
thank you so much for taking the time to help me
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
Sign up for Infrastructure as a Newsletter.
Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Hey!
When removing the DigitalOcean CSI plugin, you want to ensure the process is handled methodically to avoid unintended consequences.
Before you prcoeed I would strongly recommend making sure that you actually have a working backup. You can for example use the DigitalOcean Kubernetes backups with SnapShooter:
Here are some steps, along with command examples, to remove the CSI plugin safely:
Drain Kubernetes nodes (Optional but recommended for maintenance): This is to ensure that no work is being done on the node and no new work will be scheduled on it.
Scale down Deployments/StatefulSets: If you have deployments or stateful sets using the CSI driver, scale them down.
Delete PersistentVolumeClaims (PVCs): Remove PVCs that are provisioned by the DigitalOcean CSI driver.
After deleting the PVCs, make sure that the associated PVs are also deleted. You can check using:
If the PVs still exist and you’re sure they’re not needed anymore (or you’ve backed up the data elsewhere), you can delete them:
Delete the CSI driver components: This includes the controller deployments, CSI driver daemonset, and any associated secrets or other resources.
These commands require you to know the exact names of the resources deployed by the CSI plugin. You can find them with:
Delete CustomResourceDefinitions (CRDs): If the CSI plugin used CRDs, you’ll need to delete those as well.
Clean up ClusterRoleBindings and ClusterRoles: If the CSI plugin created any cluster roles or bindings, they should also be removed.
Review Storage Classes: Make sure that your NFS storage class is set as default if you no longer intend to use DigitalOcean’s block storage.
Uncordon the nodes (If you drained them): Once the maintenance is complete, make sure to uncordon the nodes to allow scheduling workloads on them again.
Best,
Bobby