@@ -14,13 +14,135 @@ range of vendor and application specific node labeling needs.
1414
1515## Installing the chart
1616
17+ ### OCI Helm repository
18+
19+ The NFD project provides Helm charts in an OCI compliant repository. Install
20+ NFD with the default configuration
21+
1722``` bash
1823helm install nfd --namespace node-feature-discovery --create-namespace oci://gcr.io/k8s-staging-nfd/charts/node-feature-discovery --version 0.0.0-master
1924```
2025
21- See
22- [ NFD documentation] ( https://kubernetes-sigs.github.io/node-feature-discovery/master/deployment/helm.html )
23- for more detailed deployment instructions.
26+ See the [ configuration] ( #configuration ) section below for instructions how to
27+ alter the deployment parameters.
28+
29+ ### Legacy Helm repository
30+
31+ For the time being, the NFD project still provides Helm charts in a legacy
32+ (HTTP) Helm repository, too.
33+
34+ > ** NOTE:** This repository will be deprecated in the future. It is recommended
35+ > for users to switch to use the OCI Helm repository.
36+
37+ #### Stable version
38+
39+ To install the latest stable version:
40+
41+ ``` bash
42+ helm repo add nfd https://kubernetes-sigs.github.io/node-feature-discovery/charts
43+ helm repo update
44+ helm install nfd nfd/node-feature-discovery --namespace node-feature-discovery --create-namespace
45+ ```
46+
47+ See the [ configuration] ( #configuration ) section below for instructions how to
48+ alter the deployment parameters.
49+
50+ ### Latest development version
51+
52+ To install the latest development version you need to clone the NFD Git
53+ repository and install from there.
54+
55+ ``` bash
56+ git clone https://github.com/kubernetes-sigs/node-feature-discovery/
57+ cd node-feature-discovery/deployment/helm
58+ helm install nfd ./node-feature-discovery/ --namespace node-feature-discovery --create-namespace
59+ ```
60+
61+ ## Configuration
62+
63+ You can override values from ` values.yaml ` and provide a file with custom values:
64+
65+ ``` bash
66+ helm install -f < path/to/custom/values.yaml> --namespace nfd --create-namespace nfd oci://gcr.io/k8s-staging-nfd/charts/node-feature-discovery --version 0.0.0-master
67+ ```
68+
69+ To specify each parameter separately you can provide them to helm install command:
70+
71+ ``` bash
72+ helm install --set nameOverride=NFDinstance --set master.replicaCount=2 --namespace nfd --create-namespace nfd oci://gcr.io/k8s-staging-nfd/charts/node-feature-discovery --version 0.0.0-master
73+ ```
74+
75+ ## Upgrading the chart
76+
77+ To upgrade the ` node-feature-discovery ` deployment to master via Helm.
78+
79+ ### From v0.7 and older
80+
81+ Please see
82+ the [ uninstallation guide] ( https://kubernetes-sigs.github.io/node-feature-discovery/v0.7/get-started/deployment-and-usage.html#uninstallation ) .
83+ And then follow the standard [ installation instructions] ( #installing-the-chart ) .
84+
85+ ### From v0.8 - v0.11
86+
87+ Helm deployment of NFD was introduced in v0.8.0.
88+
89+ ``` bash
90+ export NFD_NS=node-feature-discovery
91+ export HELM_INSTALL_NAME=nfd
92+ # Uninstall the old NFD deployment
93+ helm uninstall $HELM_INSTALL_NAME --namespace $NFD_NS
94+ # Install the new NFD deployment
95+ helm install $HELM_INSTALL_NAME oci://gcr.io/k8s-staging-nfd/charts/node-feature-discovery --version 0.0.0-master --namespace $NFD_NS --set master.enable=false
96+ # Wait for NFD Worker to be ready
97+ kubectl wait --timeout=-1s --for=condition=ready pod -l app.kubernetes.io/name=node-feature-discovery --namespace $NFD_NS
98+ # Enable the NFD Master
99+ helm upgrade $HELM_INSTALL_NAME oci://gcr.io/k8s-staging-nfd/charts/node-feature-discovery --version 0.0.0-master --namespace $NFD_NS --set master.enable=true
100+ ```
101+
102+ ### From v0.12 - v0.13
103+
104+ In v0.12 the ` NodeFeature ` CRD was introduced as experimental.
105+ The API was not enabled by default.
106+
107+ ``` bash
108+ export NFD_NS=node-feature-discovery
109+ export HELM_INSTALL_NAME=nfd
110+ # Install and upgrade CRD's
111+ kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/node-feature-discovery/master/deployment/base/nfd-crds/nfd-api-crds.yaml
112+ # Install the new NFD deployment
113+ helm upgrade $HELM_INSTALL_NAME oci://gcr.io/k8s-staging-nfd/charts/node-feature-discovery --version 0.0.0-master --namespace $NFD_NS --set master.enable=false
114+ # Wait for NFD Worker to be ready
115+ kubectl wait --timeout=-1s --for=condition=ready pod -l app.kubernetes.io/name=node-feature-discovery --namespace $NFD_NS
116+ # Enable the NFD Master
117+ helm upgrade $HELM_INSTALL_NAME oci://gcr.io/k8s-staging-nfd/charts/node-feature-discovery --version 0.0.0-master --namespace $NFD_NS --set master.enable=true
118+ ```
119+
120+ ### From v0.14+
121+
122+ As of version v0.14 the Helm chart is the primary deployment method for NFD,
123+ and the CRD ` NodeFeature ` is enabled by default.
124+
125+ ``` bash
126+ export NFD_NS=node-feature-discovery
127+ export HELM_INSTALL_NAME=nfd
128+ # Install and upgrade CRD's
129+ kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/node-feature-discovery/master/deployment/base/nfd-crds/nfd-api-crds.yaml
130+ # Install the new NFD deployment
131+ helm upgrade $HELM_INSTALL_NAME oci://gcr.io/k8s-staging-nfd/charts/node-feature-discovery --version 0.0.0-master --namespace $NFD_NS
132+ ```
133+
134+ ## Uninstalling the chart
135+
136+ To uninstall the ` node-feature-discovery ` deployment:
137+
138+ ``` bash
139+ helm uninstall nfd --namespace node-feature-discovery
140+ ```
141+
142+ The command removes all the Kubernetes components associated with the chart and
143+ deletes the release. It also runs a post-delete hook that cleans up the nodes
144+ of all labels, annotations, taints and extended resources that were created by
145+ NFD.
24146
25147## Values
26148
0 commit comments