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: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.5.1 args: - "--v=5" - "--csi-address=/csi/csi.sock" - "--kubelet-registration-path=/var/lib/kubelet/plugins/pd.csi.storage.gke.io/csi.sock" - "--http-endpoint=:22013" 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 ports: - containerPort: 22013 name: http-endpoint protocol: TCP livenessProbe: failureThreshold: 1 httpGet: path: /healthz port: http-endpoint initialDelaySeconds: 10 timeoutSeconds: 10 periodSeconds: 20 volumeMounts: - name: plugin-dir mountPath: /csi - name: registration-dir mountPath: /registration - name: gce-pd-driver securityContext: privileged: true image: registry.k8s.io/cloud-provider-gcp/gcp-compute-persistent-disk-csi-driver:v1.2.2 args: - "--v=5" - "--endpoint=unix:/csi/csi.sock" - "--run-controller-service=false" 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 # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ # See "special case". This will tolerate everything. Node component should # be scheduled on all nodes. tolerations: - operator: Exists nodeSelector: kubernetes.io/os: linux