github.com/k8snetworkplumbingwg/sriov-network-operator@v1.2.1-0.20240408194816-2d2e5a45d453/bindata/manifests/plugins/sriov-device-plugin.yaml (about)

     1  ---
     2  kind: DaemonSet
     3  apiVersion: apps/v1
     4  metadata:
     5    name: sriov-device-plugin
     6    namespace: {{.Namespace}}
     7    annotations:
     8      kubernetes.io/description: |
     9        This daemon set launches the SR-IOV network device plugin on each node.
    10      release.openshift.io/version: "{{.ReleaseVersion}}"
    11  spec:
    12    selector:
    13      matchLabels:
    14        app: sriov-device-plugin
    15    updateStrategy:
    16      type: RollingUpdate
    17      rollingUpdate:
    18        maxUnavailable: 33%
    19    template:
    20      metadata:
    21        labels:
    22          app: sriov-device-plugin
    23          component: network
    24          type: infra
    25          openshift.io/component: network
    26      spec:
    27        hostNetwork: true
    28        nodeSelector:
    29          {{- range $key, $value := .NodeSelectorField }}
    30            {{ $key }}: {{ $value }}
    31          {{- end }}
    32        tolerations:
    33        - operator: Exists
    34        serviceAccountName: sriov-device-plugin
    35        priorityClassName: "system-node-critical"
    36        {{- if .ImagePullSecrets }}
    37        imagePullSecrets:
    38        {{- range .ImagePullSecrets }}
    39          - name: {{ . }}
    40        {{- end }}
    41        {{- end }}
    42        containers:
    43        - name: sriov-device-plugin
    44          image: {{.SRIOVDevicePluginImage}}
    45          args:
    46          - --log-level=10
    47          - --resource-prefix={{.ResourcePrefix}}
    48          - --config-file=/etc/pcidp/$(NODE_NAME)
    49          {{- if .UseCDI }}
    50          - --use-cdi
    51          {{- end }}
    52          env:
    53          - name: NODE_NAME
    54            valueFrom:
    55              fieldRef:
    56                fieldPath: spec.nodeName
    57          securityContext:
    58            privileged: true
    59          resources:
    60            requests:
    61              cpu: 10m
    62              memory: 50Mi
    63          volumeMounts:
    64          - name: devicesock
    65            mountPath: /var/lib/kubelet/device-plugins
    66            readOnly: false
    67          - name: plugins-registry
    68            mountPath: /var/lib/kubelet/plugins_registry
    69            readOnly: false
    70          - name: config-volume
    71            mountPath: /etc/pcidp/
    72            readOnly: true
    73          - name: device-info
    74            mountPath: /var/run/k8s.cni.cncf.io/devinfo/dp
    75          {{- if .UseCDI }}
    76          - name: dynamic-cdi
    77            mountPath: /var/run/cdi
    78          {{- end }}
    79        volumes:
    80          - name: devicesock
    81            hostPath:
    82              path: /var/lib/kubelet/device-plugins
    83          - name: plugins-registry
    84            hostPath:
    85              path: /var/lib/kubelet/plugins_registry
    86          - name: config-volume
    87            configMap:
    88              name: device-plugin-config
    89          - name: device-info
    90            hostPath:
    91              path: /var/run/k8s.cni.cncf.io/devinfo/dp
    92              type: DirectoryOrCreate
    93          {{- if .UseCDI }}
    94          - name: dynamic-cdi
    95            hostPath:
    96              path: /var/run/cdi
    97              type: DirectoryOrCreate
    98          {{- end }}