Schedule for disruption #1079
-
I try to achieve maintenance window configuration using Karpenter automated nodes recycling. Mostly to recreate them during weekends. I have the following apiVersion: karpenter.sh/v1beta1
kind: NodePool
metadata:
name: default
spec:
disruption:
consolidationPolicy: WhenUnderutilized
expireAfter: 1h
budgets:
- nodes: "25%"
schedule: "0 15 * * 6"
duration: 1h I assumed the above configuration would expire instance once per hour, with the limitation that it's going to happen only in the allowed budget schedule which is Saturday at 15:00.
disruption:
consolidationPolicy: WhenUnderutilized
expireAfter: 1h
budgets:
- nodes: "0%"
schedule: "0 * * * mon-fri,sun"
duration: 1h
- nodes: "25%"
schedule: "0 15 * * 6"
duration: 1h but it doesn't seem right. We should be able to whitelist "maintenance window" without specyfing "non maintenance window", right? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 4 replies
-
I find this pattern emerges more where we have specific periods we tolerate a lot of disruption, then all other periods we don't. The current behavior is if a budget is specified, we allow unbounded disruptions when the specifed budgets are not active. If no budget is specified in the nodepool we default to 10% disruption. Are you saying you would like to see a default of 0 rather than unbounded disruption? Would love to get your feedback on some of the new equations I am defining for calculating the disruption budget mapping. See: https://github.com/kubernetes-sigs/karpenter/pull/936/files#diff-5865e4a75963415d65723ff4c6329f04561414abcd1511b9ebf7b47fc02b7f30R250 |
Beta Was this translation helpful? Give feedback.
This is correct. It doesn't allow for easy override of saying, during the last weekend of the month, allow 50% disruption. I do like the idea of extending the semantics to allow this kind of case.