-
Notifications
You must be signed in to change notification settings - Fork 226
Description
With a microk8s v1.16.2 cluster on Fedora, I followed the instructions in the README, replacing 1.13 in the README with 1.16, i.e.,
./deploy/kubernetes-1.16/deploy-hostpath.sh
One problem encountered was that csi-hostpathplugin-0 stuck in ContainerCreating
Warning FailedMount 108s (x9 over 3m56s) kubelet, localhost.localdomain MountVolume.SetUp failed for volume "registration-dir" : hostPath type check failed: /var/lib/kubelet/plugins_registry is not a directory
which I got past by
sudo mkdir /var/lib/kubelet/plugins_registry
Maybe csi-hostpath-plugin.yaml should use type DirectoryOrCreate for that path?
However, the problem that I haven't worked around is that the consumer pod doesn't schedule:
kubectl describe pod my-csi-app
...
Warning FailedScheduling <unknown> default-scheduler 0/1 nodes are available: 1 node(s) had volume node affinity conflict.
kubectl describe pv <ID>
...
Node Affinity:
Required Terms:
Term 0: topology.hostpath.csi/node in [localhost.localdomain]
...
I haven't yet learned enough to resolve this (if it's my error) or suggest a correction (if the documentation or something else is wrong). I see that https://kubernetes-csi.github.io/docs/topology.html says that a CSINode object should be created, but
kubectl get csinode
No resources found.
According to the same source, https://kubernetes-csi.github.io/docs/csi-node-object.html node-driver-registrar is responsible for creating that object, but evidently it doesn't, even though there are no errors in the log. I've found no evidence in grepping the node-driver-registrar source code that it does or should.