apiVersion: apps/v1 kind: DaemonSet metadata: labels: k8s-app: nvidia-device-plugin kubernetes.io/cluster-service: "true" addonmanager.kubernetes.io/mode: Reconcile name: nvidia-device-plugin namespace: kube-system spec: selector: matchLabels: k8s-app: nvidia-device-plugin updateStrategy: type: RollingUpdate rollingUpdate: maxUnavailable: 50% template: metadata: {{- if IsKubernetesVersionGe "1.17.0"}} annotations: cluster-autoscaler.kubernetes.io/daemonset-pod: "true" {{- end}} labels: k8s-app: nvidia-device-plugin spec: priorityClassName: system-node-critical affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: accelerator operator: In values: - nvidia tolerations: - key: CriticalAddonsOnly operator: Exists - key: nvidia.com/gpu effect: NoSchedule operator: Equal value: "true" containers: - image: {{ContainerImage "nvidia-device-plugin"}} name: nvidia-device-plugin-ctr resources: requests: cpu: {{ContainerCPUReqs "nvidia-device-plugin"}} memory: {{ContainerMemReqs "nvidia-device-plugin"}} limits: cpu: {{ContainerCPULimits "nvidia-device-plugin"}} memory: {{ContainerMemLimits "nvidia-device-plugin"}} securityContext: allowPrivilegeEscalation: false capabilities: drop: ["ALL"] volumeMounts: - name: device-plugin mountPath: /var/lib/kubelet/device-plugins volumes: - name: device-plugin hostPath: path: /var/lib/kubelet/device-plugins nodeSelector: kubernetes.io/os: linux accelerator: nvidia