|
13 | 13 |
|
14 | 14 | As more and more teams running their workloads on Kubernetes started deploying stateful applications(kafka, zookeeper,
|
15 | 15 | rabbitmq, redis, etc) on top of a Kubernetes platform, there might be challenges on finding solutions for keeping alive the minion
|
16 |
| -nodes(k8s worker nodes) where those pods part of a statefulset/deployment are running. |
| 16 | +nodes(k8s worker nodes) where those pods part of a StatefulSet/Deployment/Argo Rollout are running. |
17 | 17 | There might be cases where worker nodes need to be running for an extended period of time during a full cluster upgrade in order to
|
18 | 18 | ensure no downtime at application level while rotating the worker nodes.
|
19 | 19 |
|
@@ -42,17 +42,18 @@ Additionally, if you want a pod to be exempted from the eviction loop until park
|
42 | 42 |
|
43 | 43 | The following options can be used to customise the k8s-shredder controller:
|
44 | 44 |
|
45 |
| -| Name | Default Value | Description | |
46 |
| -|:----------------------------------:|:-------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------:| |
47 |
| -| EvictionLoopInterval | 60s | How often to run the eviction loop process | |
48 |
| -| ParkedNodeTTL | 60m | Time a node can be parked before starting force eviction process | |
49 |
| -| RollingRestartThreshold | 0.5 | How much time(percentage) should pass from ParkedNodeTTL before starting the rollout restart process | |
50 |
| -| UpgradeStatusLabel | "shredder.ethos.adobe.net/upgrade-status" | Label used for the identifying parked nodes | |
51 |
| -| ExpiresOnLabel | "shredder.ethos.adobe.net/parked-node-expires-on" | Label used for identifying the TTL for parked nodes | |
52 |
| -| NamespacePrefixSkipInitialEviction | "" | For pods in namespaces having this prefix proceed directly with a rollout restart without waiting for the RollingRestartThreshold | |
53 |
| -| RestartedAtAnnotation | "shredder.ethos.adobe.net/restartedAt" | Annotation name used to mark a controller object for rollout restart | |
54 |
| -| AllowEvictionLabel | "shredder.ethos.adobe.net/allow-eviction" | Label used for skipping evicting pods that have explicitly set this label on false | |
55 |
| -| ToBeDeletedTaint | "ToBeDeletedByClusterAutoscaler" | Node taint used for skipping a subset of parked nodes that are already handled by cluster-autoscaler | |
| 45 | +| Name | Default Value | Description | |
| 46 | +|:---------------------------------------:|:-------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------:| |
| 47 | +| EvictionLoopInterval | 60s | How often to run the eviction loop process | |
| 48 | +| ParkedNodeTTL | 60m | Time a node can be parked before starting force eviction process | |
| 49 | +| RollingRestartThreshold | 0.5 | How much time(percentage) should pass from ParkedNodeTTL before starting the rollout restart process | |
| 50 | +| UpgradeStatusLabel | "shredder.ethos.adobe.net/upgrade-status" | Label used for the identifying parked nodes | |
| 51 | +| ExpiresOnLabel | "shredder.ethos.adobe.net/parked-node-expires-on" | Label used for identifying the TTL for parked nodes | |
| 52 | +| NamespacePrefixSkipInitialEviction | "" | For pods in namespaces having this prefix proceed directly with a rollout restart without waiting for the RollingRestartThreshold | |
| 53 | +| RestartedAtAnnotation | "shredder.ethos.adobe.net/restartedAt" | Annotation name used to mark a controller object for rollout restart | |
| 54 | +| AllowEvictionLabel | "shredder.ethos.adobe.net/allow-eviction" | Label used for skipping evicting pods that have explicitly set this label on false | |
| 55 | +| ToBeDeletedTaint | "ToBeDeletedByClusterAutoscaler" | Node taint used for skipping a subset of parked nodes that are already handled by cluster-autoscaler | |
| 56 | +| ArgoRolloutsAPIVersion | "v1alpha1" | API version from `argoproj.io` API group to be used while handling Argo Rollouts objects | |
56 | 57 |
|
57 | 58 |
|
58 | 59 | ### How it works
|
|
0 commit comments