ThinkParQ / beegfs-csi-driver

The BeeGFS Container Storage Interface (CSI) driver provides high performing and scalable storage for workloads running in Kubernetes. 📦 🐝
Apache License 2.0
65 stars 18 forks source link

Getting "failed to get valid default client" error #17

Closed prajakta2055 closed 1 year ago

prajakta2055 commented 1 year ago

Hello, I tried configuring the driver but I am struggling with an issue with the client configuration. Can you please help me identify what is wrong in my installation. attached a screenshot of the error: image001

iamjoemccormick commented 1 year ago

I see Minikube listed at the top, are you using Minikube? It is possible to get the BeeGFS CSI driver to work with Minikube, but there are a few extra steps. First, what minikube driver are you using?

minikube config get driver

On Ubuntu it probably defaulted to the Docker driver, but in my experience this is a headache to get working properly. For the CSI driver to work we bind mount the host file system inside the driver container so we can get access to default BeeGFS configuration (/etc/beegfs) and userspace utilities (beegfs-ctl) required to interact with BeeGFS file systems. But with the Minikube docker driver the Kubernetes node is running inside a container that by default won't have access to these things (which is probably why the kernel module is there but it can't find a default config file at /etc/beegfs/beegfs-client.conf).

Working around these issues is pretty easy, but then probably you'll run into problems actually getting beegfs-ctl running from the containerized K8s node to communicate to any BeeGFS file system you are using. I spent a little time trying to make this work with the docker driver, but eventually gave up and just switched to use the Minikube "none" (bare-metal) driver instead. While they generally recommend not using this driver (for security/complexity reasons), the resulting deployment looks much more like a typical K8s deployment the driver expects and should "just work".

On the off chance you're using Ubuntu Multipass to run Minikube, I just created a blueprint that sets up the BeeGFS client and installs all the prerequisites for the Minikube none driver to work. Even if you aren't using Multipass you may find the steps I followed helpful.

TL;DR - So far I have yet to figure out how to use Minikube with the BeeGFS CSI driver using any Minikube driver except the "none" (bare-metal) option. Be aware the Minikube maintainers generally don't recommend this option.

PS: Apologies on the late response, I just realized I don't have notifications setup properly for this repo.