Back to Charts

⚠️ Repo Archive Notice

stable/node-problem-detector/README.md

latest7.1 KB
Original Source

⚠️ Repo Archive Notice

As of Nov 13, 2020, charts in this repo will no longer be updated. For more information, see the Helm Charts Deprecation and Archive Notice, and Update.

DEPRECATED This repository has moved

With upcoming deprecation of helm/charts repository, the Node Problem Detector Helm Chart has moved to Delivery Hero's Helm Repository: https://github.com/deliveryhero/helm-charts

You can use this new Helm repository by doing:

bash
helm repo add deliveryhero https://charts.deliveryhero.io/public
helm search repo deliveryhero

You can now use deliveryhero/node-problem-detector instead of stable/node-problem-detector in all your Helm commands, e.g.:

bash
# New installation
helm install --name <RELEASE_NAME> deliveryhero/node-problem-detector
# Upgrade existing installation
helm upgrade --name <RELEASE_NAME> deliveryhero/node-problem-detector

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;

console
$ 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:

console
$ 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:

console
$ helm install my-release stable/node-problem-detector --values values.yaml --namespace kube-system

Uninstalling the Chart

To delete the chart:

console
$ 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.

ParameterDescriptionDefault
affinityMap of node/pod affinities{}
annotationsOptional daemonset annotations{}
fullnameOverrideOverride the fullname of the chartnil
image.pullPolicyImage pull policyIfNotPresent
image.repositoryImagek8s.gcr.io/node-problem-detector
image.tagImage tagv0.8.1
hostpath.logdirLog directory path on K8s host/var/log
nameOverrideOverride the name of the chartnil
rbac.createRBACtrue
rbac.pspEnabledPodSecuritypolicyfalse
hostNetworkRun pod on host networkfalse
priorityClassNamePriority class name""
securityContextPod security context{privileged: true}
resourcesPod resource requests and limits{}
settings.custom_monitor_definitionsUser-specified custom monitor definitions{}
settings.log_monitorsSystem log monitor config files[/config/kernel-monitor.json, /config/docker-monitor.json]
settings.custom_plugin_monitorsCustom plugin monitor config files[]
settings.prometheus_addressPrometheus exporter address0.0.0.0
settings.prometheus_portPrometheus exporter port20257
settings.heartBeatPeriodSyncing interval with API server5m0s
serviceAccount.createWhether a ServiceAccount should be createdtrue
serviceAccount.nameName of the ServiceAccount to createGenerated value from template
tolerationsOptional daemonset tolerations[{effect: NoSchedule, operator: Exists}]
nodeSelectorOptional daemonset nodeSelector{}
envOptional daemonset environment variables[]
labelsOptional daemonset labels{}
extraVolumesOptional daemonset volumes to add[]
extraVolumeMountsOptional daemonset volumeMounts to add[]
updateStrategyManage the daemonset update strategyRollingUpdate
maxUnavailableThe max pods unavailable during an update1

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.