mirror of
https://github.com/kubernetes-sigs/node-feature-discovery.git
synced 2024-12-14 11:57:51 +00:00
Add separate helm values for the liveness and readiness probes
Signed-off-by: Tobias Giese <tgiese@nvidia.com>
This commit is contained in:
parent
901fbe2866
commit
52c2fc6498
5 changed files with 226 additions and 109 deletions
|
@ -48,15 +48,44 @@ spec:
|
||||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
|
||||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
{{- toYaml .Values.master.livenessProbe | nindent 12 }}
|
grpc:
|
||||||
|
port: {{ .Values.master.healthPort | default "8082" }}
|
||||||
|
{{- with .Values.master.livenessProbe.initialDelaySeconds }}
|
||||||
|
initialDelaySeconds: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.master.livenessProbe.failureThreshold }}
|
||||||
|
failureThreshold: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.master.livenessProbe.periodSeconds }}
|
||||||
|
periodSeconds: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.master.livenessProbe.timeoutSeconds }}
|
||||||
|
timeoutSeconds: {{ . }}
|
||||||
|
{{- end }}
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
{{- toYaml .Values.master.readinessProbe | nindent 12 }}
|
grpc:
|
||||||
|
port: {{ .Values.master.healthPort | default "8082" }}
|
||||||
|
{{- with .Values.master.readinessProbe.initialDelaySeconds }}
|
||||||
|
initialDelaySeconds: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.master.readinessProbe.failureThreshold }}
|
||||||
|
failureThreshold: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.master.readinessProbe.periodSeconds }}
|
||||||
|
periodSeconds: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.master.readinessProbe.timeoutSeconds }}
|
||||||
|
timeoutSeconds: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.master.readinessProbe.successThreshold }}
|
||||||
|
successThreshold: {{ . }}
|
||||||
|
{{- end }}
|
||||||
ports:
|
ports:
|
||||||
- containerPort: {{ .Values.master.port | default "8080" }}
|
- containerPort: {{ .Values.master.port | default "8080" }}
|
||||||
name: grpc
|
name: grpc
|
||||||
- containerPort: {{ .Values.master.metricsPort | default "8081" }}
|
- containerPort: {{ .Values.master.metricsPort | default "8081" }}
|
||||||
name: metrics
|
name: metrics
|
||||||
- containerPort: {{ .Values.master.healthPort | default "8082" }}
|
- containerPort: {{ .Values.master.healthPort | default "8082" }}
|
||||||
name: health
|
name: health
|
||||||
env:
|
env:
|
||||||
- name: NODE_NAME
|
- name: NODE_NAME
|
||||||
|
@ -116,7 +145,7 @@ spec:
|
||||||
- "-feature-gates={{ $key }}={{ $value }}"
|
- "-feature-gates={{ $key }}={{ $value }}"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
- "-metrics={{ .Values.master.metricsPort | default "8081" }}"
|
- "-metrics={{ .Values.master.metricsPort | default "8081" }}"
|
||||||
- "-grpc-health={{ .Values.master.healthPort | default "8082" }}"
|
- "-grpc-health={{ .Values.master.healthPort | default "8082" }}"
|
||||||
{{- with .Values.master.extraArgs }}
|
{{- with .Values.master.extraArgs }}
|
||||||
{{- toYaml . | nindent 12 }}
|
{{- toYaml . | nindent 12 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
|
@ -45,9 +45,38 @@ spec:
|
||||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
|
||||||
imagePullPolicy: "{{ .Values.image.pullPolicy }}"
|
imagePullPolicy: "{{ .Values.image.pullPolicy }}"
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
{{- toYaml .Values.topologyUpdater.livenessProbe | nindent 10 }}
|
grpc:
|
||||||
|
port: {{ .Values.topologyUpdater.healthPort | default "8082" }}
|
||||||
|
{{- with .Values.topologyUpdater.livenessProbe.initialDelaySeconds }}
|
||||||
|
initialDelaySeconds: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.topologyUpdater.livenessProbe.failureThreshold }}
|
||||||
|
failureThreshold: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.topologyUpdater.livenessProbe.periodSeconds }}
|
||||||
|
periodSeconds: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.topologyUpdater.livenessProbe.timeoutSeconds }}
|
||||||
|
timeoutSeconds: {{ . }}
|
||||||
|
{{- end }}
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
{{- toYaml .Values.topologyUpdater.readinessProbe | nindent 10 }}
|
grpc:
|
||||||
|
port: {{ .Values.topologyUpdater.healthPort | default "8082" }}
|
||||||
|
{{- with .Values.topologyUpdater.readinessProbe.initialDelaySeconds }}
|
||||||
|
initialDelaySeconds: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.topologyUpdater.readinessProbe.failureThreshold }}
|
||||||
|
failureThreshold: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.topologyUpdater.readinessProbe.periodSeconds }}
|
||||||
|
periodSeconds: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.topologyUpdater.readinessProbe.timeoutSeconds }}
|
||||||
|
timeoutSeconds: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.topologyUpdater.readinessProbe.successThreshold }}
|
||||||
|
successThreshold: {{ . }}
|
||||||
|
{{- end }}
|
||||||
env:
|
env:
|
||||||
- name: NODE_NAME
|
- name: NODE_NAME
|
||||||
valueFrom:
|
valueFrom:
|
||||||
|
@ -90,14 +119,14 @@ spec:
|
||||||
- "-kubelet-state-dir="
|
- "-kubelet-state-dir="
|
||||||
{{- end }}
|
{{- end }}
|
||||||
- "-metrics={{ .Values.topologyUpdater.metricsPort | default "8081"}}"
|
- "-metrics={{ .Values.topologyUpdater.metricsPort | default "8081"}}"
|
||||||
- "-grpc-health={{ .Values.topologyUpdater.healthPort | default "8082" }}"
|
- "-grpc-health={{ .Values.topologyUpdater.healthPort | default "8082" }}"
|
||||||
{{- with .Values.topologyUpdater.extraArgs }}
|
{{- with .Values.topologyUpdater.extraArgs }}
|
||||||
{{- toYaml . | nindent 10 }}
|
{{- toYaml . | nindent 10 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
ports:
|
ports:
|
||||||
- containerPort: {{ .Values.topologyUpdater.metricsPort | default "8081"}}
|
- containerPort: {{ .Values.topologyUpdater.metricsPort | default "8081"}}
|
||||||
name: metrics
|
name: metrics
|
||||||
- containerPort: {{ .Values.topologyUpdater.healthPort | default "8082" }}
|
- containerPort: {{ .Values.topologyUpdater.healthPort | default "8082" }}
|
||||||
name: health
|
name: health
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
{{- if .Values.topologyUpdater.kubeletConfigPath | empty | not }}
|
{{- if .Values.topologyUpdater.kubeletConfigPath | empty | not }}
|
||||||
|
|
|
@ -47,9 +47,38 @@ spec:
|
||||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
|
||||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
{{- toYaml .Values.worker.livenessProbe | nindent 12 }}
|
grpc:
|
||||||
|
port: {{ .Values.worker.healthPort | default "8082" }}
|
||||||
|
{{- with .Values.worker.livenessProbe.initialDelaySeconds }}
|
||||||
|
initialDelaySeconds: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.worker.livenessProbe.failureThreshold }}
|
||||||
|
failureThreshold: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.worker.livenessProbe.periodSeconds }}
|
||||||
|
periodSeconds: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.worker.livenessProbe.timeoutSeconds }}
|
||||||
|
timeoutSeconds: {{ . }}
|
||||||
|
{{- end }}
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
{{- toYaml .Values.worker.readinessProbe | nindent 12 }}
|
grpc:
|
||||||
|
port: {{ .Values.worker.healthPort | default "8082" }}
|
||||||
|
{{- with .Values.worker.readinessProbe.initialDelaySeconds }}
|
||||||
|
initialDelaySeconds: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.worker.readinessProbe.failureThreshold }}
|
||||||
|
failureThreshold: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.worker.readinessProbe.periodSeconds }}
|
||||||
|
periodSeconds: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.worker.readinessProbe.timeoutSeconds }}
|
||||||
|
timeoutSeconds: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.worker.readinessProbe.successThreshold }}
|
||||||
|
successThreshold: {{ . }}
|
||||||
|
{{- end }}
|
||||||
env:
|
env:
|
||||||
- name: NODE_NAME
|
- name: NODE_NAME
|
||||||
valueFrom:
|
valueFrom:
|
||||||
|
@ -84,14 +113,14 @@ spec:
|
||||||
- "-feature-gates={{ $key }}={{ $value }}"
|
- "-feature-gates={{ $key }}={{ $value }}"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
- "-metrics={{ .Values.worker.metricsPort | default "8081"}}"
|
- "-metrics={{ .Values.worker.metricsPort | default "8081"}}"
|
||||||
- "-grpc-health={{ .Values.worker.healthPort | default "8082" }}"
|
- "-grpc-health={{ .Values.worker.healthPort | default "8082" }}"
|
||||||
{{- with .Values.gc.extraArgs }}
|
{{- with .Values.gc.extraArgs }}
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
ports:
|
ports:
|
||||||
- containerPort: {{ .Values.worker.metricsPort | default "8081"}}
|
- containerPort: {{ .Values.worker.metricsPort | default "8081"}}
|
||||||
name: metrics
|
name: metrics
|
||||||
- containerPort: {{ .Values.worker.healthPort | default "8082" }}
|
- containerPort: {{ .Values.worker.healthPort | default "8082" }}
|
||||||
name: health
|
name: health
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: host-boot
|
- name: host-boot
|
||||||
|
|
|
@ -150,12 +150,15 @@ master:
|
||||||
initialDelaySeconds: 10
|
initialDelaySeconds: 10
|
||||||
# failureThreshold: 3
|
# failureThreshold: 3
|
||||||
# periodSeconds: 10
|
# periodSeconds: 10
|
||||||
|
# timeoutSeconds: 1
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
grpc:
|
grpc:
|
||||||
port: 8082
|
port: 8082
|
||||||
initialDelaySeconds: 5
|
initialDelaySeconds: 5
|
||||||
failureThreshold: 10
|
failureThreshold: 10
|
||||||
# periodSeconds: 10
|
# periodSeconds: 10
|
||||||
|
# timeoutSeconds: 1
|
||||||
|
# successThreshold: 1
|
||||||
|
|
||||||
worker:
|
worker:
|
||||||
enable: true
|
enable: true
|
||||||
|
@ -426,12 +429,15 @@ worker:
|
||||||
initialDelaySeconds: 10
|
initialDelaySeconds: 10
|
||||||
# failureThreshold: 3
|
# failureThreshold: 3
|
||||||
# periodSeconds: 10
|
# periodSeconds: 10
|
||||||
|
# timeoutSeconds: 1
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
grpc:
|
grpc:
|
||||||
port: 8082
|
port: 8082
|
||||||
initialDelaySeconds: 5
|
initialDelaySeconds: 5
|
||||||
failureThreshold: 10
|
failureThreshold: 10
|
||||||
# periodSeconds: 10
|
# periodSeconds: 10
|
||||||
|
# timeoutSeconds: 1
|
||||||
|
# successThreshold: 1
|
||||||
|
|
||||||
serviceAccount:
|
serviceAccount:
|
||||||
# Specifies whether a service account should be created.
|
# Specifies whether a service account should be created.
|
||||||
|
@ -520,12 +526,15 @@ topologyUpdater:
|
||||||
initialDelaySeconds: 10
|
initialDelaySeconds: 10
|
||||||
# failureThreshold: 3
|
# failureThreshold: 3
|
||||||
# periodSeconds: 10
|
# periodSeconds: 10
|
||||||
|
# timeoutSeconds: 1
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
grpc:
|
grpc:
|
||||||
port: 8082
|
port: 8082
|
||||||
initialDelaySeconds: 5
|
initialDelaySeconds: 5
|
||||||
failureThreshold: 10
|
failureThreshold: 10
|
||||||
# periodSeconds: 10
|
# periodSeconds: 10
|
||||||
|
# timeoutSeconds: 1
|
||||||
|
# successThreshold: 1
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
|
|
|
@ -176,43 +176,50 @@ API's you need to install the prometheus operator in your cluster.
|
||||||
|
|
||||||
### Master pod parameters
|
### Master pod parameters
|
||||||
|
|
||||||
| Name | Type | Default | Description |
|
| Name | Type | Default | Description |
|
||||||
|-------------------------------------|---------|-----------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|---------------------------------------------|---------|----------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| `master.*` | dict | | NFD master deployment configuration |
|
| `master.*` | dict | | NFD master deployment configuration |
|
||||||
| `master.enable` | bool | true | Specifies whether nfd-master should be deployed |
|
| `master.enable` | bool | true | Specifies whether nfd-master should be deployed |
|
||||||
| `master.hostNetwork` | bool | false | Specifies whether to enable or disable running the container in the host's network namespace |
|
| `master.hostNetwork` | bool | false | Specifies whether to enable or disable running the container in the host's network namespace |
|
||||||
| `master.port` | integer | | Specifies the TCP port that nfd-master listens for incoming requests. **NOTE**: this parameter is related to the deprecated gRPC API and will be removed with it in a future release |
|
| `master.port` | integer | | Specifies the TCP port that nfd-master listens for incoming requests. **NOTE**: this parameter is related to the deprecated gRPC API and will be removed with it in a future release |
|
||||||
| `master.metricsPort` | integer | 8081 | Port on which to expose metrics from components to prometheus operator |
|
| `master.metricsPort` | integer | 8081 | Port on which to expose metrics from components to prometheus operator |
|
||||||
| `master.healthPort` | integer | 8082 | Port on which to expose the grpc health endpoint |
|
| `master.healthPort` | integer | 8082 | Port on which to expose the grpc health endpoint, will be also used for the probes |
|
||||||
| `master.instance` | string | | Instance name. Used to separate annotation namespaces for multiple parallel deployments |
|
| `master.instance` | string | | Instance name. Used to separate annotation namespaces for multiple parallel deployments |
|
||||||
| `master.resyncPeriod` | string | | NFD API controller resync period. |
|
| `master.resyncPeriod` | string | | NFD API controller resync period. |
|
||||||
| `master.extraLabelNs` | array | [] | List of allowed extra label namespaces |
|
| `master.extraLabelNs` | array | [] | List of allowed extra label namespaces |
|
||||||
| `master.resourceLabels` | array | [] | List of labels to be registered as extended resources |
|
| `master.resourceLabels` | array | [] | List of labels to be registered as extended resources |
|
||||||
| `master.enableTaints` | bool | false | Specifies whether to enable or disable node tainting |
|
| `master.enableTaints` | bool | false | Specifies whether to enable or disable node tainting |
|
||||||
| `master.crdController` | bool | null | Specifies whether the NFD CRD API controller is enabled. If not set, controller will be enabled if `master.instance` is empty. |
|
| `master.crdController` | bool | null | Specifies whether the NFD CRD API controller is enabled. If not set, controller will be enabled if `master.instance` is empty. |
|
||||||
| `master.featureRulesController` | bool | null | DEPRECATED: use `master.crdController` instead |
|
| `master.featureRulesController` | bool | null | DEPRECATED: use `master.crdController` instead |
|
||||||
| `master.replicaCount` | integer | 1 | Number of desired pods. This is a pointer to distinguish between explicit zero and not specified |
|
| `master.replicaCount` | integer | 1 | Number of desired pods. This is a pointer to distinguish between explicit zero and not specified |
|
||||||
| `master.podSecurityContext` | dict | {} | [PodSecurityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) holds pod-level security attributes and common container settings |
|
| `master.podSecurityContext` | dict | {} | [PodSecurityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) holds pod-level security attributes and common container settings |
|
||||||
| `master.securityContext` | dict | {} | Container [security settings](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) |
|
| `master.securityContext` | dict | {} | Container [security settings](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) |
|
||||||
| `master.serviceAccount.create` | bool | true | Specifies whether a service account should be created |
|
| `master.serviceAccount.create` | bool | true | Specifies whether a service account should be created |
|
||||||
| `master.serviceAccount.annotations` | dict | {} | Annotations to add to the service account |
|
| `master.serviceAccount.annotations` | dict | {} | Annotations to add to the service account |
|
||||||
| `master.serviceAccount.name` | string | | The name of the service account to use. If not set and create is true, a name is generated using the fullname template |
|
| `master.serviceAccount.name` | string | | The name of the service account to use. If not set and create is true, a name is generated using the fullname template |
|
||||||
| `master.rbac.create` | bool | true | Specifies whether to create [RBAC][rbac] configuration for nfd-master |
|
| `master.rbac.create` | bool | true | Specifies whether to create [RBAC][rbac] configuration for nfd-master |
|
||||||
| `master.service.type` | string | ClusterIP | NFD master service type. **NOTE**: this parameter is related to the deprecated gRPC API and will be removed with it in a future release |
|
| `master.service.type` | string | ClusterIP | NFD master service type. **NOTE**: this parameter is related to the deprecated gRPC API and will be removed with it in a future release |
|
||||||
| `master.service.port` | integer | 8080 | NFD master service port. **NOTE**: this parameter is related to the deprecated gRPC API and will be removed with it in a future release |
|
| `master.service.port` | integer | 8080 | NFD master service port. **NOTE**: this parameter is related to the deprecated gRPC API and will be removed with it in a future release |
|
||||||
| `master.resources.limits` | dict | {memory: 4Gi} | NFD master pod [resources limits](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) |
|
| `master.resources.limits` | dict | {memory: 4Gi} | NFD master pod [resources limits](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) |
|
||||||
| `master.resources.requests` | dict | {cpu: 100m, memory: 128Mi} | NFD master pod [resources requests](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits). See `[0]` for more info |
|
| `master.resources.requests` | dict | {cpu: 100m, memory: 128Mi} | NFD master pod [resources requests](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits). See `[0]` for more info |
|
||||||
| `master.tolerations` | dict | _Schedule to control-plane node_ | NFD master pod [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) |
|
| `master.tolerations` | dict | _Schedule to control-plane node_ | NFD master pod [tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) |
|
||||||
| `master.annotations` | dict | {} | NFD master pod [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) |
|
| `master.annotations` | dict | {} | NFD master pod [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) |
|
||||||
| `master.affinity` | dict | | NFD master pod required [node affinity](https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/) |
|
| `master.affinity` | dict | | NFD master pod required [node affinity](https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/) |
|
||||||
| `master.deploymentAnnotations` | dict | {} | NFD master deployment [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) |
|
| `master.deploymentAnnotations` | dict | {} | NFD master deployment [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) |
|
||||||
| `master.nfdApiParallelism` | integer | 10 | Specifies the maximum number of concurrent node updates. |
|
| `master.nfdApiParallelism` | integer | 10 | Specifies the maximum number of concurrent node updates. |
|
||||||
| `master.config` | dict | | NFD master [configuration](../reference/master-configuration-reference) |
|
| `master.config` | dict | | NFD master [configuration](../reference/master-configuration-reference) |
|
||||||
| `master.extraArgs` | array | [] | Additional [command line arguments](../reference/master-commandline-reference.md) to pass to nfd-master |
|
| `master.extraArgs` | array | [] | Additional [command line arguments](../reference/master-commandline-reference.md) to pass to nfd-master |
|
||||||
| `master.extraEnvs` | array | [] | Additional environment variables to pass to nfd-master |
|
| `master.extraEnvs` | array | [] | Additional environment variables to pass to nfd-master |
|
||||||
| `master.revisionHistoryLimit` | integer | | Specify how many old ReplicaSets for this Deployment you want to retain. [revisionHistoryLimit](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#revision-history-limit) |
|
| `master.revisionHistoryLimit` | integer | | Specify how many old ReplicaSets for this Deployment you want to retain. [revisionHistoryLimit](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#revision-history-limit) |
|
||||||
| `master.livenessProbe` | dict | {"grpc":{"port":8082},"initialDelaySeconds":10} | NFD master pod [liveness probe](https://kubernetes.io/docs/concepts/configuration/liveness-readiness-startup-probes/#liveness-probe) |
|
| `master.livenessProbe.initialDelaySeconds` | integer | 10 | Specifies the number of seconds after the container has started before liveness probes are initiated. |
|
||||||
| `master.readinessProbe` | dict | {"grpc":{"port":8082},"initialDelaySeconds":5,"failureThreshold": 10} | NFD master pod [readiness probe](https://kubernetes.io/docs/concepts/configuration/liveness-readiness-startup-probes/#readiness-probe) |
|
| `master.livenessProbe.failureThreshold` | integer | 3 (by Kubernetes) | Specifies the number of consecutive failures of liveness probes before considering the pod as not ready. |
|
||||||
|
| `master.livenessProbe.periodSeconds` | integer | 10 (by Kubernetes) | Specifies how often (in seconds) to perform the liveness probe. |
|
||||||
|
| `master.livenessProbe.timeoutSeconds` | integer | 1 (by Kubernetes) | Specifies the number of seconds after which the probe times out. |
|
||||||
|
| `master.readinessProbe.initialDelaySeconds` | integer | 5 | Specifies the number of seconds after the container has started before readiness probes are initiated. |
|
||||||
|
| `master.readinessProbe.failureThreshold` | integer | 10 | Specifies the number of consecutive failures of readiness probes before considering the pod as not ready. |
|
||||||
|
| `master.readinessProbe.periodSeconds` | integer | 10 (by Kubernetes) | Specifies how often (in seconds) to perform the readiness probe. |
|
||||||
|
| `master.readinessProbe.timeoutSeconds` | integer | 1 (by Kubernetes) | Specifies the number of seconds after which the probe times out. |
|
||||||
|
| `master.readinessProbe.successThreshold` | integer | 1 (by Kubernetes) | Specifies the number of consecutive successes of readiness probes before considering the pod as ready. |
|
||||||
|
|
||||||
> `[0]` Additional info for `master.resources.requests`: \
|
> `[0]` Additional info for `master.resources.requests`: \
|
||||||
> You may want to use the same value for `requests.memory` and `limits.memory`.
|
> You may want to use the same value for `requests.memory` and `limits.memory`.
|
||||||
|
@ -227,69 +234,83 @@ API's you need to install the prometheus operator in your cluster.
|
||||||
|
|
||||||
### Worker pod parameters
|
### Worker pod parameters
|
||||||
|
|
||||||
| Name | Type | Default | Description |
|
| Name | Type | Default | Description |
|
||||||
|-------------------------------------|---------|-----------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|---------------------------------------------|---------|-------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| `worker.*` | dict | | NFD worker daemonset configuration |
|
| `worker.*` | dict | | NFD worker daemonset configuration |
|
||||||
| `worker.enable` | bool | true | Specifies whether nfd-worker should be deployed |
|
| `worker.enable` | bool | true | Specifies whether nfd-worker should be deployed |
|
||||||
| `worker.hostNetwork` | bool | false | Specifies whether to enable or disable running the container in the host's network namespace |
|
| `worker.hostNetwork` | bool | false | Specifies whether to enable or disable running the container in the host's network namespace |
|
||||||
| `worker.metricsPort` | int | 8081 | Port on which to expose metrics from components to prometheus operator |
|
| `worker.metricsPort` | int | 8081 | Port on which to expose metrics from components to prometheus operator |
|
||||||
| `worker.healthPort` | int | 8082 | Port on which to expose the grpc health endpoint |
|
| `worker.healthPort` | int | 8082 | Port on which to expose the grpc health endpoint, will be also used for the probes |
|
||||||
| `worker.config` | dict | | NFD worker [configuration](../reference/worker-configuration-reference) |
|
| `worker.config` | dict | | NFD worker [configuration](../reference/worker-configuration-reference) |
|
||||||
| `worker.podSecurityContext` | dict | {} | [PodSecurityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) holds pod-level security attributes and common container settins |
|
| `worker.podSecurityContext` | dict | {} | [PodSecurityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) holds pod-level security attributes and common container settins |
|
||||||
| `worker.securityContext` | dict | {} | Container [security settings](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) |
|
| `worker.securityContext` | dict | {} | Container [security settings](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) |
|
||||||
| `worker.serviceAccount.create` | bool | true | Specifies whether a service account for nfd-worker should be created |
|
| `worker.serviceAccount.create` | bool | true | Specifies whether a service account for nfd-worker should be created |
|
||||||
| `worker.serviceAccount.annotations` | dict | {} | Annotations to add to the service account for nfd-worker |
|
| `worker.serviceAccount.annotations` | dict | {} | Annotations to add to the service account for nfd-worker |
|
||||||
| `worker.serviceAccount.name` | string | | The name of the service account to use for nfd-worker. If not set and create is true, a name is generated using the fullname template (suffixed with `-worker`) |
|
| `worker.serviceAccount.name` | string | | The name of the service account to use for nfd-worker. If not set and create is true, a name is generated using the fullname template (suffixed with `-worker`) |
|
||||||
| `worker.rbac.create` | bool | true | Specifies whether to create [RBAC][rbac] configuration for nfd-worker |
|
| `worker.rbac.create` | bool | true | Specifies whether to create [RBAC][rbac] configuration for nfd-worker |
|
||||||
| `worker.mountUsrSrc` | bool | false | Specifies whether to allow users to mount the hostpath /user/src. Does not work on systems without /usr/src AND a read-only /usr |
|
| `worker.mountUsrSrc` | bool | false | Specifies whether to allow users to mount the hostpath /user/src. Does not work on systems without /usr/src AND a read-only /usr |
|
||||||
| `worker.resources.limits` | dict | {memory: 512Mi} | NFD worker pod [resources limits](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) |
|
| `worker.resources.limits` | dict | {memory: 512Mi} | NFD worker pod [resources limits](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) |
|
||||||
| `worker.resources.requests` | dict | {cpu: 5m, memory: 64Mi} | NFD worker pod [resources requests](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) |
|
| `worker.resources.requests` | dict | {cpu: 5m, memory: 64Mi} | NFD worker pod [resources requests](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) |
|
||||||
| `worker.nodeSelector` | dict | {} | NFD worker pod [node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) |
|
| `worker.nodeSelector` | dict | {} | NFD worker pod [node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) |
|
||||||
| `worker.tolerations` | dict | {} | NFD worker pod [node tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) |
|
| `worker.tolerations` | dict | {} | NFD worker pod [node tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) |
|
||||||
| `worker.priorityClassName` | string | | NFD worker pod [priority class](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/) |
|
| `worker.priorityClassName` | string | | NFD worker pod [priority class](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/) |
|
||||||
| `worker.annotations` | dict | {} | NFD worker pod [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) |
|
| `worker.annotations` | dict | {} | NFD worker pod [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) |
|
||||||
| `worker.daemonsetAnnotations` | dict | {} | NFD worker daemonset [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) |
|
| `worker.daemonsetAnnotations` | dict | {} | NFD worker daemonset [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) |
|
||||||
| `worker.extraArgs` | array | [] | Additional [command line arguments](../reference/worker-commandline-reference.md) to pass to nfd-worker |
|
| `worker.extraArgs` | array | [] | Additional [command line arguments](../reference/worker-commandline-reference.md) to pass to nfd-worker |
|
||||||
| `worker.extraEnvs` | array | [] | Additional environment variables to pass to nfd-worker |
|
| `worker.extraEnvs` | array | [] | Additional environment variables to pass to nfd-worker |
|
||||||
| `worker.revisionHistoryLimit` | integer | | Specify how many old ControllerRevisions for this DaemonSet you want to retain. [revisionHistoryLimit](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/daemon-set-v1/ #DaemonSetSpec) |
|
| `worker.revisionHistoryLimit` | integer | | Specify how many old ControllerRevisions for this DaemonSet you want to retain. [revisionHistoryLimit](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/daemon-set-v1/ #DaemonSetSpec) |
|
||||||
| `worker.livenessProbe` | dict | {"grpc":{"port":8082},"initialDelaySeconds":10} | NFD worker pod [liveness probe](https://kubernetes.io/docs/concepts/configuration/liveness-readiness-startup-probes/#liveness-probe) |
|
| `worker.livenessProbe.initialDelaySeconds` | integer | 10 | Specifies the number of seconds after the container has started before liveness probes are initiated. |
|
||||||
| `worker.readinessProbe` | dict | {"grpc":{"port":8082},"initialDelaySeconds":5,"failureThreshold": 10} | NFD worker pod [readiness probe](https://kubernetes.io/docs/concepts/configuration/liveness-readiness-startup-probes/#readiness-probe) |
|
| `worker.livenessProbe.failureThreshold` | integer | 3 (by Kubernetes) | Specifies the number of consecutive failures of liveness probes before considering the pod as not ready. |
|
||||||
|
| `worker.livenessProbe.periodSeconds` | integer | 10 (by Kubernetes) | Specifies how often (in seconds) to perform the liveness probe. |
|
||||||
|
| `worker.livenessProbe.timeoutSeconds` | integer | 1 (by Kubernetes) | Specifies the number of seconds after which the probe times out. |
|
||||||
|
| `worker.readinessProbe.initialDelaySeconds` | integer | 5 | Specifies the number of seconds after the container has started before readiness probes are initiated. |
|
||||||
|
| `worker.readinessProbe.failureThreshold` | integer | 10 | Specifies the number of consecutive failures of readiness probes before considering the pod as not ready. |
|
||||||
|
| `worker.readinessProbe.periodSeconds` | integer | 10 (by Kubernetes) | Specifies how often (in seconds) to perform the readiness probe. |
|
||||||
|
| `worker.readinessProbe.timeoutSeconds` | integer | 1 (by Kubernetes) | Specifies the number of seconds after which the probe times out. |
|
||||||
|
| `worker.readinessProbe.successThreshold` | integer | 1 (by Kubernetes) | Specifies the number of consecutive successes of readiness probes before considering the pod as ready. |
|
||||||
|
|
||||||
### Topology updater parameters
|
### Topology updater parameters
|
||||||
|
|
||||||
| Name | Type | Default | Description |
|
| Name | Type | Default | Description |
|
||||||
|-----------------------------------------------|---------|-----------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|------------------------------------------------------|---------|--------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| `topologyUpdater.*` | dict | | NFD Topology Updater configuration |
|
| `topologyUpdater.*` | dict | | NFD Topology Updater configuration |
|
||||||
| `topologyUpdater.enable` | bool | false | Specifies whether the NFD Topology Updater should be created |
|
| `topologyUpdater.enable` | bool | false | Specifies whether the NFD Topology Updater should be created |
|
||||||
| `topologyUpdater.hostNetwork` | bool | false | Specifies whether to enable or disable running the container in the host's network namespace |
|
| `topologyUpdater.hostNetwork` | bool | false | Specifies whether to enable or disable running the container in the host's network namespace |
|
||||||
| `topologyUpdater.createCRDs` | bool | false | Specifies whether the NFD Topology Updater CRDs should be created |
|
| `topologyUpdater.createCRDs` | bool | false | Specifies whether the NFD Topology Updater CRDs should be created |
|
||||||
| `topologyUpdater.serviceAccount.create` | bool | true | Specifies whether the service account for topology updater should be created |
|
| `topologyUpdater.serviceAccount.create` | bool | true | Specifies whether the service account for topology updater should be created |
|
||||||
| `topologyUpdater.serviceAccount.annotations` | dict | {} | Annotations to add to the service account for topology updater |
|
| `topologyUpdater.serviceAccount.annotations` | dict | {} | Annotations to add to the service account for topology updater |
|
||||||
| `topologyUpdater.serviceAccount.name` | string | | The name of the service account for topology updater to use. If not set and create is true, a name is generated using the fullname template and `-topology-updater` suffix |
|
| `topologyUpdater.serviceAccount.name` | string | | The name of the service account for topology updater to use. If not set and create is true, a name is generated using the fullname template and `-topology-updater` suffix |
|
||||||
| `topologyUpdater.rbac.create` | bool | true | Specifies whether to create [RBAC][rbac] configuration for topology updater |
|
| `topologyUpdater.rbac.create` | bool | true | Specifies whether to create [RBAC][rbac] configuration for topology updater |
|
||||||
| `topologyUpdater.metricsPort` | integer | 8081 | Port on which to expose prometheus metrics |
|
| `topologyUpdater.metricsPort` | integer | 8081 | Port on which to expose prometheus metrics |
|
||||||
| `topologyUpdater.healthPort` | integer | 8082 | Port on which to expose the grpc health endpoint |
|
| `topologyUpdater.healthPort` | integer | 8082 | Port on which to expose the grpc health endpoint, will be also used for the probes |
|
||||||
| `topologyUpdater.kubeletConfigPath` | string | "" | Specifies the kubelet config host path |
|
| `topologyUpdater.kubeletConfigPath` | string | "" | Specifies the kubelet config host path |
|
||||||
| `topologyUpdater.kubeletPodResourcesSockPath` | string | "" | Specifies the kubelet sock path to read pod resources |
|
| `topologyUpdater.kubeletPodResourcesSockPath` | string | "" | Specifies the kubelet sock path to read pod resources |
|
||||||
| `topologyUpdater.updateInterval` | string | 60s | Time to sleep between CR updates. Non-positive value implies no CR update. |
|
| `topologyUpdater.updateInterval` | string | 60s | Time to sleep between CR updates. Non-positive value implies no CR update. |
|
||||||
| `topologyUpdater.watchNamespace` | string | `*` | Namespace to watch pods, `*` for all namespaces |
|
| `topologyUpdater.watchNamespace` | string | `*` | Namespace to watch pods, `*` for all namespaces |
|
||||||
| `topologyUpdater.podSecurityContext` | dict | {} | [PodSecurityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) holds pod-level security attributes and common container sett |
|
| `topologyUpdater.podSecurityContext` | dict | {} | [PodSecurityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) holds pod-level security attributes and common container sett |
|
||||||
| `topologyUpdater.securityContext` | dict | {} | Container [security settings](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) |
|
| `topologyUpdater.securityContext` | dict | {} | Container [security settings](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) |
|
||||||
| `topologyUpdater.resources.limits` | dict | {memory: 60Mi} | NFD Topology Updater pod [resources limits](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) |
|
| `topologyUpdater.resources.limits` | dict | {memory: 60Mi} | NFD Topology Updater pod [resources limits](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) |
|
||||||
| `topologyUpdater.resources.requests` | dict | {cpu: 50m, memory: 40Mi} | NFD Topology Updater pod [resources requests](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) |
|
| `topologyUpdater.resources.requests` | dict | {cpu: 50m, memory: 40Mi} | NFD Topology Updater pod [resources requests](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits) |
|
||||||
| `topologyUpdater.nodeSelector` | dict | {} | Topology updater pod [node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) |
|
| `topologyUpdater.nodeSelector` | dict | {} | Topology updater pod [node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) |
|
||||||
| `topologyUpdater.tolerations` | dict | {} | Topology updater pod [node tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) |
|
| `topologyUpdater.tolerations` | dict | {} | Topology updater pod [node tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) |
|
||||||
| `topologyUpdater.annotations` | dict | {} | Topology updater pod [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) |
|
| `topologyUpdater.annotations` | dict | {} | Topology updater pod [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) |
|
||||||
| `topologyUpdater.daemonsetAnnotations` | dict | {} | Topology updater daemonset [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) |
|
| `topologyUpdater.daemonsetAnnotations` | dict | {} | Topology updater daemonset [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) |
|
||||||
| `topologyUpdater.affinity` | dict | {} | Topology updater pod [affinity](https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/) |
|
| `topologyUpdater.affinity` | dict | {} | Topology updater pod [affinity](https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/) |
|
||||||
| `topologyUpdater.config` | dict | | [configuration](../reference/topology-updater-configuration-reference) |
|
| `topologyUpdater.config` | dict | | [configuration](../reference/topology-updater-configuration-reference) |
|
||||||
| `topologyUpdater.podSetFingerprint` | bool | true | Enables compute and report of pod fingerprint in NRT objects. |
|
| `topologyUpdater.podSetFingerprint` | bool | true | Enables compute and report of pod fingerprint in NRT objects. |
|
||||||
| `topologyUpdater.kubeletStateDir` | string | /var/lib/kubelet | Specifies kubelet state directory path for watching state and checkpoint files. Empty value disables kubelet state tracking. |
|
| `topologyUpdater.kubeletStateDir` | string | /var/lib/kubelet | Specifies kubelet state directory path for watching state and checkpoint files. Empty value disables kubelet state tracking. |
|
||||||
| `topologyUpdater.extraArgs` | array | [] | Additional [command line arguments](../reference/topology-updater-commandline-reference.md) to pass to nfd-topology-updater |
|
| `topologyUpdater.extraArgs` | array | [] | Additional [command line arguments](../reference/topology-updater-commandline-reference.md) to pass to nfd-topology-updater |
|
||||||
| `topologyUpdater.extraEnvs` | array | [] | Additional environment variables to pass to nfd-topology-updater |
|
| `topologyUpdater.extraEnvs` | array | [] | Additional environment variables to pass to nfd-topology-updater |
|
||||||
| `topologyUpdater.revisionHistoryLimit` | integer | | Specify how many old ControllerRevisions for this DaemonSet you want to retain. [revisionHistoryLimit](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/daemon-set-v1/#DaemonSetSpec) |
|
| `topologyUpdater.revisionHistoryLimit` | integer | | Specify how many old ControllerRevisions for this DaemonSet you want to retain. [revisionHistoryLimit](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/daemon-set-v1/#DaemonSetSpec) |
|
||||||
| `topologyUpdater.livenessProbe` | dict | {"grpc":{"port":8082},"initialDelaySeconds":10} | Topology updater pod [liveness probe](https://kubernetes.io/docs/concepts/configuration/liveness-readiness-startup-probes/#liveness-probe) |
|
| `topologyUpdater.livenessProbe.initialDelaySeconds` | integer | 10 | Specifies the number of seconds after the container has started before liveness probes are initiated. |
|
||||||
| `topologyUpdater.readinessProbe` | dict | {"grpc":{"port":8082},"initialDelaySeconds":5,"failureThreshold": 10} | Topology updater pod [readiness probe](https://kubernetes.io/docs/concepts/configuration/liveness-readiness-startup-probes/#readiness-probe) |
|
| `topologyUpdater.livenessProbe.failureThreshold` | integer | 3 (by Kubernetes) | Specifies the number of consecutive failures of liveness probes before considering the pod as not ready. |
|
||||||
|
| `topologyUpdater.livenessProbe.periodSeconds` | integer | 10 (by Kubernetes) | Specifies how often (in seconds) to perform the liveness probe. |
|
||||||
|
| `topologyUpdater.livenessProbe.timeoutSeconds` | integer | 1 (by Kubernetes) | Specifies the number of seconds after which the probe times out. |
|
||||||
|
| `topologyUpdater.readinessProbe.initialDelaySeconds` | integer | 5 | Specifies the number of seconds after the container has started before readiness probes are initiated. |
|
||||||
|
| `topologyUpdater.readinessProbe.failureThreshold` | integer | 10 | Specifies the number of consecutive failures of readiness probes before considering the pod as not ready. |
|
||||||
|
| `topologyUpdater.readinessProbe.periodSeconds` | integer | 10 (by Kubernetes) | Specifies how often (in seconds) to perform the readiness probe. |
|
||||||
|
| `topologyUpdater.readinessProbe.timeoutSeconds` | integer | 1 (by Kubernetes) | Specifies the number of seconds after which the probe times out. |
|
||||||
|
| `topologyUpdater.readinessProbe.successThreshold` | integer | 1 (by Kubernetes) | Specifies the number of consecutive successes of readiness probes before considering the pod as ready. |
|
||||||
|
|
||||||
### Garbage collector parameters
|
### Garbage collector parameters
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue