# Refernce NFD Master DaemonSet - https://github.com/kubernetes-sigs/node-feature-discovery/blob/master/nfd-master.yaml.template apiVersion: v1 kind: Namespace metadata: name: node-feature-discovery # NFD namespace --- apiVersion: v1 kind: ServiceAccount metadata: name: nfd-master namespace: node-feature-discovery --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: nfd-master rules: - apiGroups: - "" resources: - nodes verbs: - get - patch - update --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: nfd-master roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: nfd-master subjects: - kind: ServiceAccount name: nfd-master namespace: node-feature-discovery --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: psp:default:privileged namespace: node-feature-discovery roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: psp:privileged subjects: - kind: ServiceAccount name: default namespace: node-feature-discovery - kind: ServiceAccount name: nfd-master namespace: node-feature-discovery --- apiVersion: apps/v1 kind: DaemonSet metadata: labels: app: nfd-master name: nfd-master namespace: node-feature-discovery spec: selector: matchLabels: app: nfd-master template: metadata: labels: app: nfd-master spec: serviceAccount: nfd-master nodeSelector: node-role.kubernetes.io/master: "" tolerations: - key: "node-role.kubernetes.io/master" operator: "Equal" value: "" effect: "NoSchedule" containers: - env: - name: NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName image: quay.io/kubernetes_incubator/node-feature-discovery:v0.4.0 name: nfd-master command: - "nfd-master" --- apiVersion: v1 kind: Service metadata: name: nfd-master namespace: node-feature-discovery spec: selector: app: nfd-master ports: - protocol: TCP port: 8080 type: ClusterIP