You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A Kubernetes controller that applies the `node.kubernetes.io/out-of-service` taint to nodes that have been `NotReady` for a specified duration.
4
+
5
+
Useful when a node suddenly goes offline due to power outage etc. and needs to be quickly identified and removed from the cluster to prevent pods from being stuck in `Terminating` state.
6
+
7
+
## Installation
8
+
9
+
Images are available at `ghcr.io/dcelasun/node-taint-controller`.
10
+
11
+
Copy the manifest and customize it to your needs:
12
+
```sh
13
+
$ cp manifest.example.yaml manifest.yaml
14
+
# Edit manifest.yaml to adjust thresholds, replicas, etc.
15
+
$ kubectl apply -f manifest.yaml
16
+
```
17
+
18
+
## Configuration
19
+
20
+
```sh
21
+
$ make build
22
+
$ ./controller --help
23
+
Usage of ./controller:
24
+
-health-probe-bind-address string
25
+
The address the probe endpoint binds to. (default ":8081")
26
+
-kubeconfig string
27
+
Paths to a kubeconfig. Only required if out-of-cluster.
28
+
-leader-election-id string
29
+
The ID of the leader election. (default "node-taint-controller.example.com")
30
+
-metrics-bind-address string
31
+
The address the metric endpoint binds to. (default ":8080")
32
+
-not-ready-threshold duration
33
+
Duration a node must be NotReady before tainting. (default 5m0s)
34
+
-reconcile-interval duration
35
+
How often to re-check node status. (default 30s)
36
+
-zap-devel
37
+
Development Mode defaults(encoder=consoleEncoder,logLevel=Debug,stackTraceLevel=Warn). Production Mode defaults(encoder=jsonEncoder,logLevel=Info,stackTraceLevel=Error)
38
+
-zap-encoder value
39
+
Zap log encoding (one of 'json' or 'console')
40
+
-zap-log-level value
41
+
Zap Level to configure the verbosity of logging. Can be one of 'debug', 'info', 'error', 'panic'or any integer value > 0 which corresponds to custom debug levels of increasing verbosity
42
+
-zap-stacktrace-level value
43
+
Zap Level at and above which stacktraces are captured (one of 'info', 'error', 'panic').
44
+
-zap-time-encoding value
45
+
Zap time encoding (one of 'epoch', 'millis', 'nano', 'iso8601', 'rfc3339' or 'rfc3339nano'). Defaults to 'epoch'.
0 commit comments