apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: amdgpu-device-plugin-daemonset
  namespace: kube-system
spec:
  selector:
    matchLabels:
      name: amdgpu-dp-ds
  template:
    metadata:
      labels:
        name: amdgpu-dp-ds
    spec:
      nodeSelector:
        kubernetes.io/arch: amd64
      priorityClassName: system-node-critical
      tolerations:
      - key: CriticalAddonsOnly
        operator: Exists
      containers:
      - image: rocm/k8s-device-plugin
        name: amdgpu-dp-cntr-health
        workingDir: /root
        command: ["./k8s-device-plugin"]
        args: ["-logtostderr=true", "-stderrthreshold=INFO", "-pulse=10"]
        securityContext:
          runAsUser: 0
          privileged: true
          capabilities:
            add: ["SYS_ADMIN"]
            drop: ["ALL"]
        volumeMounts:
          - name: dp
            mountPath: /var/lib/kubelet/device-plugins
          - name: sys
            mountPath: /sys
          - name: kfd
            mountPath: /dev/kfd
          - name: dri
            mountPath: /dev/dri
          - name: health
            mountPath: /var/lib/amd-metrics-exporter/
      volumes:
        - name: dp
          hostPath:
            path: /var/lib/kubelet/device-plugins
        - name: sys
          hostPath:
            path: /sys
        - name: kfd
          hostPath:
            path: /dev/kfd
        - name: dri
          hostPath:
            path: /dev/dri
        - name: health
          hostPath:
            path: /var/lib/amd-metrics-exporter/
            type : DirectoryOrCreate