diff --git a/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/Chart.yaml b/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/Chart.yaml index 5eb702e..35de5bb 100644 --- a/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/Chart.yaml +++ b/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/Chart.yaml @@ -1,15 +1,14 @@ apiVersion: v2 -appVersion: v0.12.1 -description: | - Detects hardware features available on each node in a Kubernetes cluster, and advertises - those features using node labels. -name: node-feature-discovery -sources: - - https://github.com/kubernetes-sigs/node-feature-discovery +appVersion: v0.13.1 +description: 'Detects hardware features available on each node in a Kubernetes cluster, + and advertises those features using node labels. ' home: https://github.com/kubernetes-sigs/node-feature-discovery keywords: - - feature-discovery - - feature-detection - - node-labels +- feature-discovery +- feature-detection +- node-labels +name: node-feature-discovery +sources: +- https://github.com/kubernetes-sigs/node-feature-discovery type: application -version: 0.12.1 +version: 0.13.1 diff --git a/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/README.md b/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/README.md index 8ce83a4..628ac6a 100644 --- a/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/README.md +++ b/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/README.md @@ -6,5 +6,5 @@ labels. NFD provides flexible configuration and extension points for a wide range of vendor and application specific node labeling needs. See -[NFD documentation](https://kubernetes-sigs.github.io/node-feature-discovery/master/deployment/helm.html) +[NFD documentation](https://kubernetes-sigs.github.io/node-feature-discovery/v0.13/deployment/helm.html) for deployment instructions. diff --git a/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/crds/nfd-api-crds.yaml b/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/crds/nfd-api-crds.yaml index 5d9e1e1..775536f 100644 --- a/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/crds/nfd-api-crds.yaml +++ b/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/crds/nfd-api-crds.yaml @@ -155,6 +155,11 @@ spec: description: Rule defines a rule for node customization such as labeling. properties: + extendedResources: + additionalProperties: + type: string + description: ExtendedResources to create if the rule matches. + type: object labels: additionalProperties: type: string diff --git a/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/templates/clusterrole.yaml b/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/templates/clusterrole.yaml index a282df3..84b3264 100644 --- a/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/templates/clusterrole.yaml +++ b/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/templates/clusterrole.yaml @@ -10,20 +10,12 @@ rules: - "" resources: - nodes -{{- if .Values.master.resourceLabels | empty | not }} - nodes/status -{{- end }} verbs: - get - patch - update - list -- apiGroups: - - "" - resources: - - nodes/proxy - verbs: - - get - apiGroups: - nfd.k8s-sigs.io resources: @@ -36,7 +28,7 @@ rules: {{- end }} --- -{{- if .Values.topologyUpdater.rbac.create }} +{{- if and .Values.topologyUpdater.enable .Values.topologyUpdater.rbac.create }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: @@ -51,6 +43,12 @@ rules: verbs: - get - list +- apiGroups: + - "" + resources: + - nodes/proxy + verbs: + - get - apiGroups: - "" resources: diff --git a/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/templates/master.yaml b/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/templates/master.yaml index c259df5..943b5ba 100644 --- a/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/templates/master.yaml +++ b/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/templates/master.yaml @@ -92,6 +92,9 @@ spec: {{- if .Values.master.resourceLabels | empty | not }} - "-resource-labels={{- join "," .Values.master.resourceLabels }}" {{- end }} + {{- if .Values.master.enableTaints }} + - "-enable-taints" + {{- end }} {{- if .Values.master.crdController | kindIs "invalid" | not }} - "-crd-controller={{ .Values.master.crdController }}" {{- else }} @@ -109,10 +112,20 @@ spec: - name: nfd-master-cert mountPath: "/etc/kubernetes/node-feature-discovery/certs" readOnly: true + - name: nfd-master-conf + mountPath: "/etc/kubernetes/node-feature-discovery" + readOnly: true volumes: - name: nfd-master-cert secret: secretName: nfd-master-cert + - name: nfd-master-conf + configMap: + name: {{ include "node-feature-discovery.fullname" . }}-master-conf + items: + - key: nfd-master.conf + path: nfd-master.conf + ## /TLS ## {{- end }} {{- with .Values.master.nodeSelector }} diff --git a/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/templates/nfd-master-conf.yaml b/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/templates/nfd-master-conf.yaml new file mode 100644 index 0000000..c806a8e --- /dev/null +++ b/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/templates/nfd-master-conf.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "node-feature-discovery.fullname" . }}-master-conf + namespace: {{ include "node-feature-discovery.namespace" . }} + labels: + {{- include "node-feature-discovery.labels" . | nindent 4 }} +data: + nfd-master.conf: |- + {{- .Values.master.config | toYaml | nindent 4 }} diff --git a/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/templates/topologyupdater.yaml b/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/templates/topologyupdater.yaml index dc8ea89..4963a52 100644 --- a/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/templates/topologyupdater.yaml +++ b/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/templates/topologyupdater.yaml @@ -58,13 +58,23 @@ spec: {{- if .Values.topologyUpdater.podSetFingerprint }} - "-pods-fingerprint" {{- end }} + {{- if .Values.topologyUpdater.kubeletConfigPath | empty | not }} + - "-kubelet-config-uri=file:///host-var/kubelet-config" + {{- end }} volumeMounts: + {{- if .Values.topologyUpdater.kubeletConfigPath | empty | not }} - name: kubelet-config - mountPath: /host-var/lib/kubelet/config.yaml + mountPath: /host-var/kubelet-config + {{- end }} - name: kubelet-podresources-sock mountPath: /host-var/lib/kubelet/pod-resources/kubelet.sock - name: host-sys mountPath: /host-sys + {{- if .Values.topologyUpdater.kubeletStateDir | empty | not }} + - name: kubelet-state-files + mountPath: /host-var/lib/kubelet + readOnly: true + {{- end }} {{- if .Values.tls.enable }} - name: nfd-topology-updater-cert mountPath: "/etc/kubernetes/node-feature-discovery/certs" @@ -82,13 +92,11 @@ spec: - name: host-sys hostPath: path: "/sys" + {{- if .Values.topologyUpdater.kubeletConfigPath | empty | not }} - name: kubelet-config hostPath: - {{- if .Values.topologyUpdater.kubeletConfigPath | empty | not }} path: {{ .Values.topologyUpdater.kubeletConfigPath }} - {{- else }} - path: /var/lib/kubelet/config.yaml - {{- end }} + {{- end }} - name: kubelet-podresources-sock hostPath: {{- if .Values.topologyUpdater.kubeletPodResourcesSockPath | empty | not }} @@ -96,6 +104,11 @@ spec: {{- else }} path: /var/lib/kubelet/pod-resources/kubelet.sock {{- end }} + {{- if .Values.topologyUpdater.kubeletStateDir | empty | not }} + - name: kubelet-state-files + hostPath: + path: {{ .Values.topologyUpdater.kubeletStateDir }} + {{- end }} - name: nfd-topology-updater-conf configMap: name: {{ include "node-feature-discovery.fullname" . }}-topology-updater-conf diff --git a/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/templates/worker.yaml b/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/templates/worker.yaml index 829e4e5..c1240bd 100644 --- a/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/templates/worker.yaml +++ b/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/templates/worker.yaml @@ -67,6 +67,9 @@ spec: - name: host-usr-lib mountPath: "/host-usr/lib" readOnly: true + - name: host-lib + mountPath: "/host-lib" + readOnly: true {{- if .Values.worker.mountUsrSrc }} - name: host-usr-src mountPath: "/host-usr/src" @@ -99,6 +102,9 @@ spec: - name: host-usr-lib hostPath: path: "/usr/lib" + - name: host-lib + hostPath: + path: "/lib" {{- if .Values.worker.mountUsrSrc }} - name: host-usr-src hostPath: diff --git a/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/values.yaml b/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/values.yaml index a444673..f0f63d9 100644 --- a/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/values.yaml +++ b/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/values.yaml @@ -1,7 +1,7 @@ image: - repository: gcr.io/k8s-staging-nfd/node-feature-discovery + repository: registry.k8s.io/nfd/node-feature-discovery # This should be set to 'IfNotPresent' for released version - pullPolicy: Always + pullPolicy: IfNotPresent # tag, if defined will use the given image tag, else Chart.AppVersion will be used # tag imagePullSecrets: [] @@ -13,6 +13,14 @@ namespaceOverride: "" enableNodeFeatureApi: false master: + config: ### + # noPublish: false + # extraLabelNs: ["added.ns.io","added.kubernets.io"] + # denyLabelNs: ["denied.ns.io","denied.kubernetes.io"] + # resourceLabels: ["vendor-1.com/feature-1","vendor-2.io/feature-2"] + # enableTaints: false + # labelWhiteList: "foo" + ### # The TCP port that nfd-master listens for incoming requests. Default: 8080 port: 8080 instance: @@ -20,6 +28,7 @@ master: denyLabelNs: [] extraLabelNs: [] resourceLabels: [] + enableTaints: false crdController: null featureRulesController: null deploymentAnnotations: {} @@ -393,12 +402,13 @@ topologyUpdater: annotations: {} name: rbac: - create: false + create: true kubeletConfigPath: kubeletPodResourcesSockPath: updateInterval: 60s watchNamespace: "*" + kubeletStateDir: /host-var/lib/kubelet podSecurityContext: {} securityContext: