kind: DaemonSet apiVersion: apps/v1 metadata: name: csi-gce-pd-node spec: selector: matchLabels: app: gcp-compute-persistent-disk-csi-driver template: metadata: labels: app: gcp-compute-persistent-disk-csi-driver spec: containers: - name: csi-driver-registrar image: gcr.io/gke-release/csi-node-driver-registrar:v1.2.0-gke.0 args: - "--v=5" - "--csi-address=/csi/csi.sock" - "--kubelet-registration-path=/var/lib/kubelet/plugins/pd.csi.storage.gke.io/csi.sock" lifecycle: preStop: exec: command: ["/bin/sh", "-c", "rm -rf /registration/pd.csi.storage.gke.io /registration/pd.csi.storage.gke.io-reg.sock"] env: - name: KUBE_NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName volumeMounts: - name: plugin-dir mountPath: /csi - name: registration-dir mountPath: /registration - name: gce-pd-driver securityContext: privileged: true image: gcr.io/gke-release/gcp-compute-persistent-disk-csi-driver:v0.6.0-gke.0 args: - "--v=5" - "--endpoint=unix:/csi/csi.sock" volumeMounts: - name: kubelet-dir mountPath: /var/lib/kubelet mountPropagation: "Bidirectional" - name: plugin-dir mountPath: /csi - name: device-dir mountPath: /dev # The following mounts are required to trigger host udevadm from container - name: udev-rules-etc mountPath: /etc/udev - name: udev-rules-lib mountPath: /lib/udev - name: udev-socket mountPath: /run/udev - name: sys mountPath: /sys volumes: - name: registration-dir hostPath: path: /var/lib/kubelet/plugins_registry/ type: Directory - name: kubelet-dir hostPath: path: /var/lib/kubelet type: Directory - name: plugin-dir hostPath: path: /var/lib/kubelet/plugins/pd.csi.storage.gke.io/ type: DirectoryOrCreate - name: device-dir hostPath: path: /dev type: Directory # The following mounts are required to trigger host udevadm from container - name: udev-rules-etc hostPath: path: /etc/udev type: Directory - name: udev-rules-lib hostPath: path: /lib/udev type: Directory - name: udev-socket hostPath: path: /run/udev type: Directory - name: sys hostPath: path: /sys type: Directory