* add the ability to manage updateStrategy Signed-off-by: Paul Whitehead <whitehead.pauljay@gmail.com> * update the readme Signed-off-by: Paul Whitehead <whitehead.pauljay@gmail.com> * bump the chart version Signed-off-by: Paul Whitehead <whitehead.pauljay@gmail.com>
Kubernetes Node Problem Detector
This chart installs a node-problem-detector daemonset. This tool aims to make various node problems visible to the upstream layers in cluster management stack. It is a daemon which runs on each node, detects node problems and reports them to apiserver.
TL;DR;
$ helm install stable/node-problem-detector
Prerequisites
- Kubernetes 1.9+ with Beta APIs enabled
Installing the Chart
To install the chart with the release name my-release and default configuration:
$ helm install my-release stable/node-problem-detector
To install the chart with the release name my-release and custom configuration with yaml a file in the kube-system namespace:
$ helm install my-release stable/node-problem-detector --values values.yaml --namespace kube-system
Uninstalling the Chart
To delete the chart:
$ helm delete my-release
Configuration
Custom System log monitor config files can be created, see here for examples.
The following table lists the configurable parameters for this chart and their default values.
| Parameter | Description | Default |
|---|---|---|
affinity |
Map of node/pod affinities | {} |
annotations |
Optional daemonset annotations | {} |
fullnameOverride |
Override the fullname of the chart | nil |
image.pullPolicy |
Image pull policy | IfNotPresent |
image.repository |
Image | k8s.gcr.io/node-problem-detector |
image.tag |
Image tag | v0.8.1 |
hostpath.logdir |
Log directory path on K8s host | /var/log |
nameOverride |
Override the name of the chart | nil |
rbac.create |
RBAC | true |
rbac.pspEnabled |
PodSecuritypolicy | false |
hostNetwork |
Run pod on host network | false |
priorityClassName |
Priority class name | "" |
securityContext |
Pod security context | {privileged: true} |
resources |
Pod resource requests and limits | {} |
settings.custom_monitor_definitions |
User-specified custom monitor definitions | {} |
settings.log_monitors |
System log monitor config files | [/config/kernel-monitor.json, /config/docker-monitor.json] |
settings.custom_plugin_monitors |
Custom plugin monitor config files | [] |
settings.prometheus_address |
Prometheus exporter address | 0.0.0.0 |
settings.prometheus_port |
Prometheus exporter port | 20257 |
settings.heartBeatPeriod |
Syncing interval with API server | 5m0s |
serviceAccount.create |
Whether a ServiceAccount should be created | true |
serviceAccount.name |
Name of the ServiceAccount to create | Generated value from template |
tolerations |
Optional daemonset tolerations | [{effect: NoSchedule, operator: Exists}] |
nodeSelector |
Optional daemonset nodeSelector | {} |
env |
Optional daemonset environment variables | [] |
labels |
Optional daemonset labels | {} |
extraVolumes |
Optional daemonset volumes to add | [] |
extraVolumeMounts |
Optional daemonset volumeMounts to add | [] |
updateStrategy |
Manage the daemonset update strategy | RollingUpdate |
maxUnavailable |
The max pods unavailable during an update | 1 |
Specify each parameter using the --set key=value[,key=value] argument to helm install or provide a YAML file containing the values for the above parameters.