I have been a huge fan of minikube for a number of years now, it has given me a local lightweight Kubernetes cluster to play around with and demonstrate Kasten K10 and Kanister amongst other learning possibilities without the need for remote and costly cloud clusters.
But things have broken for me, one of the main advantages of minikube was the addons available when you deploy your cluster. My simple command to deploy a quick cluster using docker (You can use other options here but for ease docker is super simple)
To break this command down we are starting a new minikube cluster called mc-demo with the addons volumesnapshots and the csi-hostpath-driver we are using specifying our apiserver port to 6443 our container runtime and Kubernetes version.
The issue I have found is that the addon version no longer works!
This obviously takes away now the simple cluster creation I have been using and as a complete novice I have not been able to help fix the code…. at least not yet.
But I have found a work around for this to work.
git clone https://github.com/kubernetes-csi/external-snapshotter.git
cd external-snapshotter/
kubectl kustomize client/config/crd | kubectl create -f -
kubectl -n kube-system kustomize deploy/kubernetes/snapshot-controller | kubectl create -f -
cd ..
git clone https://github.com/kubernetes-csi/csi-driver-host-path.git
cd csi-driver-host-path/
./deploy/kubernetes-latest/deploy.sh
kubectl create -f ./examples/csi-storageclass.yaml
The above code takes those addons and just simply installs them manually into your minikube cluster.
I was then able to manually perform snapshots on the PVCs in my cluster but more importantly I was able to use Kasten K10 to protect my applications.
Sidenote: Kanister as an open source project was always still working, if you have a data service say a mongodb or postgreSQL database pod / application running in your cluster, Kanister will dive into that and perform a consistent dump of the database and enable you to drop that dump into S3 or other backup repositories.