|
| 1 | +--- |
| 2 | +title: "Helm" |
| 3 | +layout: default |
| 4 | +sort: 1 |
| 5 | +--- |
| 6 | + |
| 7 | +# Deployment with Helm |
| 8 | + |
| 9 | +{: .no_toc} |
| 10 | + |
| 11 | +## Table of contents |
| 12 | + |
| 13 | +{: .no_toc .text-delta} |
| 14 | + |
| 15 | +1. TOC |
| 16 | +{:toc} |
| 17 | + |
| 18 | +--- |
| 19 | + |
| 20 | +Helm chart allow to easily deploy and manage the NFD-operator. |
| 21 | + |
| 22 | +> NOTE: NFD-operator is not ideal for other Helm charts to depend on as that |
| 23 | +> may result in multiple parallel NFD-operator deployments in the same cluster |
| 24 | +> which is not fully supported by the NFD-operator Helm chart. |
| 25 | +
|
| 26 | +## Prerequisites |
| 27 | + |
| 28 | +[Helm package manager](https://helm.sh/) should be installed. |
| 29 | + |
| 30 | +## Deployment |
| 31 | + |
| 32 | +To install the latest stable version: |
| 33 | + |
| 34 | +```bash |
| 35 | +export NFD_O_NS=nfd-operator |
| 36 | +helm repo add nfd-operator https://kubernetes-sigs.github.io/node-feature-discovery-operator/charts |
| 37 | +helm repo update |
| 38 | +helm install nfd-operator/nfd-operator --namespace $NFD_O_NS --create-namespace --generate-name |
| 39 | +``` |
| 40 | + |
| 41 | +To install the latest development version you need to clone the NFD-Operator Git |
| 42 | +repository and install from there. |
| 43 | + |
| 44 | +```bash |
| 45 | +git clone https://github.com/kubernetes-sigs/node-feature-discovery-operator/ |
| 46 | +cd node-feature-discovery-operator/deployment/helm |
| 47 | +export NFD_O_NS=nfd-operator |
| 48 | +helm install nfd-operator ./nfd-operator/ --namespace $NFD_O_NS --create-namespace |
| 49 | +``` |
| 50 | + |
| 51 | +See the [configuration](#configuration) section below for instructions how to |
| 52 | +alter the deployment parameters. |
| 53 | + |
| 54 | +In order to deploy the [minimal](image-variants.md#minimal) image you need to |
| 55 | +override the image tag: |
| 56 | + |
| 57 | +```bash |
| 58 | +helm install nfd-operator ./nfd-operator/ --set image.tag={{ site.release }}-minimal --namespace $NFD_O_NS --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 | +export NFD_O_NS=nfd-operator |
| 67 | +helm install nfd-operator/nfd-operator -f <path/to/custom/values.yaml> --namespace $NFD_O_NS --create-namespace |
| 68 | +``` |
| 69 | + |
| 70 | +To specify each parameter separately you can provide them to helm install command: |
| 71 | + |
| 72 | +```bash |
| 73 | +export NFD_O_NS=nfd-operator |
| 74 | +helm install nfd-operator/nfd-operator --set nameOverride=NFDinstance --namespace $NFD_O_NS --create-namespace |
| 75 | +``` |
| 76 | + |
| 77 | +## Uninstalling the chart |
| 78 | + |
| 79 | +To uninstall the `nfd-operator` deployment: |
| 80 | + |
| 81 | +```bash |
| 82 | +export NFD_O_NS=nfd-operator |
| 83 | +helm uninstall nfd-operator --namespace $NFD_O_NS |
| 84 | +``` |
| 85 | + |
| 86 | +The command removes all the Kubernetes components associated with the chart and |
| 87 | +deletes the release. |
| 88 | + |
| 89 | +## Chart parameters |
| 90 | + |
| 91 | +In order to tailor the deployment of the Node Feature Discovery to your cluster needs |
| 92 | +We have introduced the following Chart parameters. |
| 93 | + |
| 94 | +### General parameters |
| 95 | + |
| 96 | +| Name | Type | Default | description | |
| 97 | +| ---- | ---- | ------- | ----------- | |
| 98 | +| `image.repository` | string | `{{ site.container_image | split: ":" | first }}` | NFD image repository | |
| 99 | +| `image.tag` | string | `{{ site.release }}` | NFD image tag | |
| 100 | +| `image.pullPolicy` | string | `Always` | Image pull policy | |
| 101 | +| `imagePullSecrets` | list | [] | ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. [More info](https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod) | |
| 102 | +| `nameOverride` | string | | Override the name of the chart | |
| 103 | +| `fullnameOverride` | string | | Override a default fully qualified app name | |
| 104 | + |
| 105 | +### Controller deployment parameters |
| 106 | + |
| 107 | +| Name | Type | Default | description | |
| 108 | +| ---- | ---- | ------- | ----------- | |
| 109 | +| `controller.image.repository` | string | `{{ site.container_image | split: ":" | first }}` | NFD-Operator image repository | |
| 110 | +| `controller.image.tag` | string | `{{ site.release }}` | NFD-Operator image tag | |
| 111 | + |
| 112 | +[rbac]: https://kubernetes.io/docs/reference/access-authn-authz/rbac/ |
0 commit comments