245 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			245 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
node-feature-discovery:
 | 
						|
  enableNodeFeatureApi: true
 | 
						|
  master:
 | 
						|
    enable: true
 | 
						|
    config: ### <NFD-MASTER-CONF-START-DO-NOT-REMOVE>
 | 
						|
      # noPublish: false
 | 
						|
      # autoDefaultNs: true
 | 
						|
      # extraLabelNs: ["added.ns.io","added.kubernets.io","intel.com","devicetree.org"]
 | 
						|
      # denyLabelNs: ["denied.ns.io","denied.kubernetes.io"]
 | 
						|
      # resourceLabels: ["vendor-1.com/feature-1","vendor-2.io/feature-2"]
 | 
						|
      # enableTaints: false
 | 
						|
      # labelWhiteList: "foo"
 | 
						|
      # resyncPeriod: "2h"
 | 
						|
      # klog:
 | 
						|
      #    addDirHeader: false
 | 
						|
      #    alsologtostderr: false
 | 
						|
      #    logBacktraceAt:
 | 
						|
      #    logtostderr: true
 | 
						|
      #    skipHeaders: false
 | 
						|
      #    stderrthreshold: 2
 | 
						|
      #    v: 0
 | 
						|
      #    vmodule:
 | 
						|
      ##   NOTE: the following options are not dynamically run-time configurable
 | 
						|
      ##         and require a nfd-master restart to take effect after being changed
 | 
						|
      #    logDir:
 | 
						|
      #    logFile:
 | 
						|
      #    logFileMaxSize: 1800
 | 
						|
      #    skipLogHeaders: false
 | 
						|
      # leaderElection:
 | 
						|
      #   leaseDuration: 15s
 | 
						|
      #   # this value has to be lower than leaseDuration and greater than retryPeriod*1.2
 | 
						|
      #   renewDeadline: 10s
 | 
						|
      #   # this value has to be greater than 0
 | 
						|
      #   retryPeriod: 2s
 | 
						|
      # nfdApiParallelism: 10
 | 
						|
    ### <NFD-MASTER-CONF-END-DO-NOT-REMOVE>
 | 
						|
    port: 8080
 | 
						|
    metricsPort: 8081
 | 
						|
    instance:
 | 
						|
    featureApi:
 | 
						|
    resyncPeriod:
 | 
						|
    denyLabelNs: []
 | 
						|
    extraLabelNs: []
 | 
						|
    resourceLabels: []
 | 
						|
    enableTaints: false
 | 
						|
    crdController: null
 | 
						|
    featureRulesController: null
 | 
						|
    nfdApiParallelism: null
 | 
						|
    deploymentAnnotations: {}
 | 
						|
    replicaCount: 1
 | 
						|
    podSecurityContext: {}
 | 
						|
      # fsGroup: 2000
 | 
						|
    securityContext:
 | 
						|
      allowPrivilegeEscalation: false
 | 
						|
      capabilities:
 | 
						|
        drop: ["ALL"]
 | 
						|
      readOnlyRootFilesystem: true
 | 
						|
      runAsNonRoot: true
 | 
						|
      # runAsUser: 1000
 | 
						|
    serviceAccount:
 | 
						|
      create: true
 | 
						|
      name:
 | 
						|
    rbac:
 | 
						|
      create: true
 | 
						|
    service:
 | 
						|
      type: ClusterIP
 | 
						|
      port: 8080
 | 
						|
    resources:
 | 
						|
      requests:
 | 
						|
        cpu: 20m
 | 
						|
        memory: 60Mi
 | 
						|
    tolerations:
 | 
						|
      - key: "node-role.kubernetes.io/control-plane"
 | 
						|
        operator: "Equal"
 | 
						|
        value: ""
 | 
						|
        effect: "NoSchedule"
 | 
						|
    affinity:
 | 
						|
      nodeAffinity:
 | 
						|
        preferredDuringSchedulingIgnoredDuringExecution:
 | 
						|
          - weight: 1
 | 
						|
            preference:
 | 
						|
              matchExpressions:
 | 
						|
                - key: "node-role.kubernetes.io/control-plane"
 | 
						|
                  operator: In
 | 
						|
                  values: [""]
 | 
						|
  worker:
 | 
						|
    enable: true
 | 
						|
    config: ### <NFD-WORKER-CONF-START-DO-NOT-REMOVE>
 | 
						|
      #core:
 | 
						|
      #  labelWhiteList:
 | 
						|
      #  noPublish: false
 | 
						|
      #  sleepInterval: 60s
 | 
						|
      #  featureSources: [all]
 | 
						|
      #  labelSources: [all]
 | 
						|
      #  klog:
 | 
						|
      #    addDirHeader: false
 | 
						|
      #    alsologtostderr: false
 | 
						|
      #    logBacktraceAt:
 | 
						|
      #    logtostderr: true
 | 
						|
      #    skipHeaders: false
 | 
						|
      #    stderrthreshold: 2
 | 
						|
      #    v: 0
 | 
						|
      #    vmodule:
 | 
						|
      ##   NOTE: the following options are not dynamically run-time configurable
 | 
						|
      ##         and require a nfd-worker restart to take effect after being changed
 | 
						|
      #    logDir:
 | 
						|
      #    logFile:
 | 
						|
      #    logFileMaxSize: 1800
 | 
						|
      #    skipLogHeaders: false
 | 
						|
      sources:
 | 
						|
        cpu:
 | 
						|
          cpuid:
 | 
						|
            attributeWhitelist:
 | 
						|
              - "AVX512BW"
 | 
						|
              - "AVX512CD"
 | 
						|
              - "AVX512DQ"
 | 
						|
              - "AVX512F"
 | 
						|
              - "AVX512VL"
 | 
						|
        kernel:
 | 
						|
          configOpts:
 | 
						|
            - "NO_HZ"
 | 
						|
            - "X86"
 | 
						|
            - "DMI"
 | 
						|
        usb:
 | 
						|
          deviceClassWhitelist:
 | 
						|
            - "02"
 | 
						|
            - "03"
 | 
						|
            - "0e"
 | 
						|
            - "ef"
 | 
						|
            - "fe"
 | 
						|
            - "ff"
 | 
						|
          deviceLabelFields:
 | 
						|
            - "vendor"
 | 
						|
            - "device"
 | 
						|
            - "class"
 | 
						|
        pci:
 | 
						|
          deviceClassWhitelist:
 | 
						|
            - "0200"
 | 
						|
            - "01"
 | 
						|
            - "08"
 | 
						|
            - "0300"
 | 
						|
            - "0302"
 | 
						|
          deviceLabelFields:
 | 
						|
            - "vendor"
 | 
						|
            - "device"
 | 
						|
            - "class"
 | 
						|
        custom:
 | 
						|
          - # Intel integrated GPU
 | 
						|
            name: "intel-gpu"
 | 
						|
            labels:
 | 
						|
              intel.feature.node.kubernetes.io/gpu: 'true'
 | 
						|
            matchOn:
 | 
						|
              - pciId:
 | 
						|
                  class: ["0300"]
 | 
						|
                  vendor: ["8086"]
 | 
						|
          - # Google Coral USB Accelerator
 | 
						|
            name: google.coral
 | 
						|
            labels:
 | 
						|
              google.feature.node.kubernetes.io/coral: "true"
 | 
						|
            matchFeatures:
 | 
						|
              - feature: usb.device
 | 
						|
                matchExpressions:
 | 
						|
                  vendor: { op: In, value: ["1a6e", "18d1"] }
 | 
						|
          - # Aeotec Z-Stick Gen5+
 | 
						|
            name: aeotec.zwave
 | 
						|
            labels:
 | 
						|
              aeotec.feature.node.kubernetes.io/zwave: "true"
 | 
						|
            matchFeatures:
 | 
						|
              - feature: usb.device
 | 
						|
                matchExpressions:
 | 
						|
                  class: { op: In, value: ["02"] }
 | 
						|
                  vendor: { op: In, value: ["0658"] }
 | 
						|
                  device: { op: In, value: ["0200"] }
 | 
						|
    ### <NFD-WORKER-CONF-END-DO-NOT-REMOVE>
 | 
						|
    metricsPort: 8081
 | 
						|
    podSecurityContext: {}
 | 
						|
      # fsGroup: 2000
 | 
						|
    securityContext:
 | 
						|
      allowPrivilegeEscalation: false
 | 
						|
      capabilities:
 | 
						|
        drop: ["ALL"]
 | 
						|
      readOnlyRootFilesystem: true
 | 
						|
      runAsNonRoot: true
 | 
						|
      # runAsUser: 1000
 | 
						|
    serviceAccount:
 | 
						|
      create: true
 | 
						|
      name:
 | 
						|
    rbac:
 | 
						|
      create: true
 | 
						|
    mountUsrSrc: false
 | 
						|
    resources:
 | 
						|
      requests:
 | 
						|
        cpu: 20m
 | 
						|
        memory: 60Mi
 | 
						|
  topologyUpdater:
 | 
						|
    config: ### <NFD-TOPOLOGY-UPDATER-CONF-START-DO-NOT-REMOVE>
 | 
						|
      ## key = node name, value = list of resources to be excluded.
 | 
						|
      ## use * to exclude from all nodes.
 | 
						|
      ## an example for how the exclude list should looks like
 | 
						|
      #excludeList:
 | 
						|
      #  node1: [cpu]
 | 
						|
      #  node2: [memory, example/deviceA]
 | 
						|
      #  *: [hugepages-2Mi]
 | 
						|
  ### <NFD-TOPOLOGY-UPDATER-CONF-END-DO-NOT-REMOVE>
 | 
						|
    enable: true
 | 
						|
    createCRDs: true
 | 
						|
    serviceAccount:
 | 
						|
      create: true
 | 
						|
      name:
 | 
						|
    rbac:
 | 
						|
      create: true
 | 
						|
    metricsPort: 8081
 | 
						|
    updateInterval: 60s
 | 
						|
    watchNamespace: "*"
 | 
						|
    kubeletStateDir: /var/lib/kubelet
 | 
						|
    securityContext:
 | 
						|
      allowPrivilegeEscalation: false
 | 
						|
      capabilities:
 | 
						|
        drop: ["ALL"]
 | 
						|
      readOnlyRootFilesystem: true
 | 
						|
      runAsUser: 0
 | 
						|
    resources:
 | 
						|
      requests:
 | 
						|
        cpu: 20m
 | 
						|
        memory: 60Mi
 | 
						|
  gc:
 | 
						|
    enable: true
 | 
						|
    replicaCount: 1
 | 
						|
    serviceAccount:
 | 
						|
      create: true
 | 
						|
      name:
 | 
						|
    rbac:
 | 
						|
      create: true
 | 
						|
    interval: 1h
 | 
						|
    resources:
 | 
						|
      requests:
 | 
						|
        cpu: 20m
 | 
						|
        memory: 60Mi
 | 
						|
    metricsPort: 8081
 | 
						|
  tls:
 | 
						|
    enable: false
 | 
						|
    certManager: false
 | 
						|
  prometheus:
 | 
						|
    enable: false
 |