apiVersion: extensions/v1beta1 kind: DaemonSet metadata:

name: nvidia-device-plugin-daemonset-1.12
namespace: kube-system

spec:

selector:
  matchLabels:
    name: nvidia-device-plugin-ds
template:
  metadata:
    # Mark this pod as a critical add-on; when enabled, the critical add-on scheduler
    # reserves resources for critical add-on pods so that they can be rescheduled after
    # a failure.  This annotation works in tandem with the toleration below.
    annotations:
      scheduler.alpha.kubernetes.io/critical-pod: ""
    labels:
      name: nvidia-device-plugin-ds
  spec:
    tolerations:
    # Allow this pod to be rescheduled while the node is in "critical add-ons only" mode.
    # This, along with the annotation above marks this pod as a critical add-on.
    - operator: Exists
    containers:
    - image: nvidia/k8s-device-plugin:1.11
      name: nvidia-device-plugin-ctr
      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