mirror of
https://github.com/kubereboot/kured.git
synced 2026-03-27 13:06:52 +00:00
Kured (KUbernetes REboot Daemon)
Introduction
This chart installs the "Kubernetes Reboot Daemon" using the Helm Package Manager.
Prerequisites
- Kubernetes 1.9+
Installing the Chart
To install the chart with the release name my-release:
$ helm repo add kured https://weaveworks.github.io/kured
$ helm install my-release kured/kured
Uninstalling the Chart
To uninstall/delete the my-release deployment:
$ helm delete my-release
The command removes all the Kubernetes components associated with the chart and deletes the release.
Migrate from stable Helm-Chart
The following changes have been made compared to the stable chart:
- [BREAKING CHANGE] The
autolockfeature was removed. Useconfiguration.startTimeandconfiguration.endTimeinstead. - Role inconsistencies have been fixed (allowed verbs for modifying the
DaemonSet, apiGroup ofPodSecurityPolicy) - Added support for affinities.
- Configuration of cli-flags can be made through a
configurationobject. - Added optional
ServiceandServiceMonitorsupport for metrics endpoint.
Configuration
| Config | Description | Default |
|---|---|---|
image.repository |
Image repository | weaveworks/kured |
image.tag |
Image tag | 1.4.1 |
image.pullPolicy |
Image pull policy | IfNotPresent |
image.pullSecrets |
Image pull secrets | [] |
updateStrategy |
Daemonset update strategy | OnDelete |
podAnnotations |
Annotations to apply to pods (eg to add Prometheus annotations) | {} |
extraArgs |
Extra arguments to pass to /usr/bin/kured. See below. |
{} |
configuration.annotationTtl |
cli-parameter --annotation-ttl |
0 |
configuration.alertFilterRegexp |
cli-parameter --alert-filter-regexp |
"" |
configuration.blockingPodSelector |
Array of selectors for multiple cli-parameters --blocking-pod-selector |
[] |
configuration.endTime |
cli-parameter --end-time |
"" |
configuration.lockAnnotation |
cli-parameter --lock-annotation |
"" |
configuration.period |
cli-parameter --period |
"" |
configuration.prometheusUrl |
cli-parameter --prometheus-url |
"" |
configuration.rebootDays |
Array of days for multiple cli-parameters --reboot-days |
[] |
configuration.rebootSentinel |
cli-parameter --reboot-sentinel |
"" |
configuration.slackChannel |
cli-parameter --slack-channel |
"" |
configuration.slackHookUrl |
cli-parameter --slack-hook-url |
"" |
configuration.slackUsername |
cli-parameter --slack-username |
"" |
configuration.startTime |
cli-parameter --start-time |
"" |
configuration.timeZone |
cli-parameter --time-zone |
"" |
rbac.create |
Create RBAC roles | true |
serviceAccount.create |
Create a service account | true |
serviceAccount.name |
Service account name to create (or use if serviceAccount.create is false) |
(chart fullname) |
podSecurityPolicy.create |
Create podSecurityPolicy | false |
resources |
Resources requests and limits. | {} |
metrics.create |
Create a Service for the metrics endpoint | false |
metrics.serviceMonitor.create |
Create a ServiceMonitor for prometheus-operator | true |
metrics.serviceMonitor.namespace |
The namespace to create the ServiceMonitor in | "" |
metrics.serviceMonitor.labels |
Additional labels for the ServiceMonitor | {} |
metrics.serviceMonitor.interval |
Interval prometheus should scrape the endpoint | 60s |
metrics.serviceMonitor.scrapeTimeout |
A custom scrapeTimeout for prometheus | "" |
priorityClassName |
Priority Class to be used by the pods | "" |
tolerations |
Tolerations to apply to the daemonset (eg to allow running on master) | [{"key": "node-role.kubernetes.io/master", "effect": "NoSchedule"}] |
affinity |
Affinity for the daemonset (ie, restrict which nodes kured runs on) | {} |
nodeSelector |
Node Selector for the daemonset (ie, restrict which nodes kured runs on) | {} |
See https://github.com/weaveworks/kured#configuration for values (not contained in the configuration object) for extraArgs. Note that
extraArgs:
foo: 1
bar-baz: 2
becomes /usr/bin/kured ... --foo=1 --bar-baz=2.
Prometheus Metrics
Kured exposes a single prometheus metric indicating whether a reboot is required or not (see kured docs) for details.
Prometheus-Operator
metrics:
create: true
Prometheus Annotations
podAnnotations:
prometheus.io/scrape: "true"
prometheus.io/path: "/metrics"
prometheus.io/port: "8080"