SynologyOpenSource / synology-csi

Apache License 2.0
466 stars 96 forks source link

Still connecting to unix://<filepath>/csi.sock; csi.sock file missing on hosts. #72

Open Suthek opened 7 months ago

Suthek commented 7 months ago

Kubernetes Version: 1.28

I have installed the CSI Plugin as per the commands within the script (with edited in client-info):

git clone <repo> .
kubectl create ns synology-csi
cp ./config/client-info-template.yml ./config/client-info.yml
kubectl create secret -n synology-csi generic client-info-secret --from-file=".config/client-info.yml"
sudo mkdir /var/lib/kubelet/plugins/csi.san.synology.com
kubectl apply -f "./deploy/kubernetes/v1.20

The Secret, VolumeClass, node-plugin daemonset & controller Set apply properly, however they seemingly cannot connect to the socket:

 kubectl logs synology-csi-node-27mbl -n synology-csi -c csi-driver-registrar
I1129 13:28:05.231412       1 main.go:164] Version: v2.3.0
I1129 13:28:05.231469       1 main.go:165] Running node-driver-registrar in mode=registration
I1129 13:28:05.232245       1 main.go:189] Attempting to open a gRPC connection with: "/csi/csi.sock"
I1129 13:28:05.232270       1 connection.go:154] Connecting to unix:///csi/csi.sock
W1129 13:28:15.233248       1 connection.go:173] Still connecting to unix:///csi/csi.sock
Similarly, on the control plane the csi-provisioner spits out: ``` I1129 13:28:04.823289 1 feature_gate.go:245] feature gates: &{map[]} I1129 13:28:04.823357 1 csi-provisioner.go:138] Version: v3.0.0 I1129 13:28:04.823379 1 csi-provisioner.go:161] Building kube configs for running in cluster... I1129 13:28:04.825691 1 connection.go:154] Connecting to unix:///var/lib/csi/sockets/pluginproxy/csi.sock W1129 13:28:14.826389 1 connection.go:173] Still connecting to unix:///var/lib/csi/sockets/pluginproxy/csi.sock ``` Checking on the host systems itself under /var/lib/kubelet/plugins/csi.san.synology.com revealed that there is no csi.sock file in there. As far as I understood it, this file is/should be provided by the driver? If not, I have found no method in my search where that socket can be found or created from instead. Update: Reinstalled the construct with latest versions for everything. Now they don't search forever, but just time out eventually with `context deadline exceeded` error. Also, forgot to add the log output from the csi-plugin itself, because it didn't actually show anything special: ``` $ kubectl logs synology-csi-controller-0 -n synology-csi -c csi-plugin 2023-11-30T14:37:12Z [INFO] [synok8scsiplugin/main.go:56] CSI Options = {NotUsed, unix:///var/lib/csi/sockets/pluginproxy/csi.sock, /etc/synology/client-info.yml} $ kubectl logs synology-csi-node-2ttkq -n synology-csi -c csi-plugin 2023-11-30T14:57:50Z [INFO] [synok8scsiplugin/main.go:56] CSI Options = {k8s-worker-12, unix:///csi/csi.sock, /etc/synology/client-info.yml} ```