New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
k8s 1.8 flexvolume driver is not recognized #263
Comments
I don't think our flex plugin installer is broken, we already do the atomic rename from a file starting with |
so there must be some other reason why you got that error... |
when this is fixed and we start working with Kubernetes 1.8, hopefully we also start working with 1.9 (which is what ships with latest Docker for Mac) |
We do almost exactly what the docs @binocarlos refers to says: I shall attempt to work out what's wrong. |
Ok, I've tried this on k8s 1.9 and everything works flawlessly (with no kubelet restart!) in the "hello dotmesh on k8s" tutorial. On k8s 1.8 (1.8.8 to be precise) I'm getting a problem, but it's not with the flexvolume driver being picked up. The driver is being invoked correctly (with no kubelet restart), but logging this into
As you might guess from it being called So: FV driver is working fine, but DM is giving errors back from the Procure call on k8s 1.8. Investigating... |
False alarm, that was because I'd left my
...but that was in #300 raised to improve flexvolume error reporting. |
Gett the etcd-browser up and running in an arbitrary k8s cluster might not be worth the hassle, so this works at a pinch, with a slightly worse UI: ```bash APIKEY=... NODE=... curl --user admin:$APIKEY -H 'Content-Type: application/json' http://$NODE:6969/rpc --data-binary "{\"jsonrpc\":\"2.0\",\"method\":\"DotmeshRPC.DumpEtcd\",\"params\":{\"Prefix\":\"\"},\"id\":6129484611666146000}" ``` You can change the prefix in the params to narrow down to a specific subtree, too.
After a bit of fiddling with stuff purely local to my setup, it works fine for kubernetes 1.8 with the stock So: This may be a GKE-specific problem. Now investigating a GKE cluster... |
Well, one problem is that GKE uses a different place for FV plugins: https://github.com/rancher/longhorn#troubleshooting
|
Ok, it needs the socket moved as well, and I can't hack that with |
Also, rejigged YAML generation to run from a single master YAML and generate all the others via sed, so I can make a GKE-specific YAML that sets the flexvolume driver path.
Ok, fixed it! We now have a YAML parameter to choose where the FV plugins go, and separate .gke.yaml files packaged that have it set for GKE.
Tada! |
* 'master' of https://github.com/dotmesh-io/dotmesh: 263: Google still used the default FV dir up to 1.8 263: Made a typo! That's why it wasn't working! 263: Log flexvolume installation 263: Make 1.7 versions of YAML, deprecate old `dotmesh.yaml` #263: Ability to pass the flexvolume driver path in via k8s yaml. NFC: Print out the actual URL base in the unstable build job, so it's easier to find it. 263: Forgot the `dotmesh.io~dm` in the pathname! 263: Temporarily kill kubernetes tests, as they won't pass in this GKE-only configuration. 263: Use /home/kubernetes/flexvolume as the FV plugin dir, for GKE.
When running a k8s
v1.8.7-gke.1
cluster on GKE - with all of the dotmesh pods running:And the flexvolume binary present in
/usr/libexec/kubernetes/kubelet-plugins/volume/exec/dotmesh.io~dm
and having done
sudo systemctl restart kubelet
on the host lead to this error in the kubelet:Reading this part of the release notes - it seems that the plugin discovery mechanism has changed. Update the flexvolume driver to work with k8s >= 1.8
The text was updated successfully, but these errors were encountered: