github.com/openshift/dpu-operator@v0.0.0-20240502153209-3af840d137c2/bindata/sriov-device-plugin/04.sriov-device-plugin_ds.yaml (about)

     1  apiVersion: apps/v1
     2  kind: DaemonSet
     3  metadata:
     4    name: sriov-device-plugin
     5    namespace: {{.Namespace}}
     6  spec:
     7    selector:
     8      matchLabels:
     9        name: sriov-device-plugin
    10    updateStrategy:
    11      type: RollingUpdate
    12      rollingUpdate:
    13        maxUnavailable: 33%
    14    template:
    15      metadata:
    16        labels:
    17          name: sriov-device-plugin
    18          component: network
    19          type: infra
    20          openshift.io/component: network
    21      spec:
    22        hostNetwork: true
    23        nodeSelector:
    24        # TODO: We need to define how we want to select nodes to run the device plugin.
    25          kubernetes.io/arch: amd64
    26          dpu: "true"
    27        tolerations:
    28        # FIXME: We don't want to have the device plugin to run on master or control-plane nodes.
    29        - key: node-role.kubernetes.io/master
    30          operator: Exists
    31          effect: NoSchedule
    32        - key: node-role.kubernetes.io/control-plane
    33          operator: Exists
    34          effect: NoSchedule
    35        serviceAccountName: sriov-device-plugin-sa
    36        priorityClassName: "system-node-critical"
    37        # TODO: Implement "imagePullSecrets"
    38        containers:
    39        - name: sriov-device-plugin
    40          image: ghcr.io/k8snetworkplumbingwg/sriov-network-device-plugin:latest-amd64
    41          imagePullPolicy: {{.ImagePullPolicy}}
    42          # TODO: Missing CDI feature
    43          args:
    44          - --log-level=10
    45          securityContext:
    46            privileged: true
    47          resources:
    48            requests:
    49              cpu: "250m"
    50              memory: "40Mi"
    51            limits:
    52              cpu: 1
    53              memory: "200Mi"
    54          volumeMounts:
    55          - name: devicesock
    56            mountPath: /var/lib/kubelet/device-plugins
    57            readOnly: false
    58          - name: plugins-registry
    59            mountPath: /var/lib/kubelet/plugins_registry
    60            readOnly: false
    61          - name: log
    62            mountPath: /var/log
    63          - name: config-volume
    64            mountPath: /etc/pcidp
    65            readOnly: true
    66          - name: device-info
    67            mountPath: /var/run/k8s.cni.cncf.io/devinfo/dp
    68        volumes:
    69          - name: devicesock
    70            hostPath:
    71              path: /var/lib/kubelet/device-plugins
    72          - name: plugins-registry
    73            hostPath:
    74              path: /var/lib/kubelet/plugins_registry
    75          - name: log
    76            hostPath:
    77              path: /var/log
    78          - name: device-info
    79            hostPath:
    80              path: /var/run/k8s.cni.cncf.io/devinfo/dp
    81              type: DirectoryOrCreate
    82          - name: config-volume
    83            configMap:
    84              name: sriovdp-config
    85              items:
    86              - key: config.json
    87                path: config.json