Graceful scaling of nodes with daemonset.
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 3.9k
- Forks
- 230
- Avg merge
- 7h 48m
- Merged PRs (30d)
- 3
Description
What is the recommended method to handle scaling of nodes to prevent node storms when an app has a dependency of node state label sys-box-runtime=running . The initialization time of of sys-box causes conflicts with autos scaling groups. Current configuration:
Karpeneter scaling
apiVersion: karpenter.sh/v1beta1
kind: NodePool
metadata:
name: foo
spec:
template:
metadata:
labels:
karpenter.sh/capacity-type: on-demand
spec:
startupTaints:
- key: karpenter.sh/wait
value: "true"
effect: NoSchedule
limits:
cpu: 1000
Testing this configuration but sys-box-runtime=Initialization is slow and causes node storms as it waits for sys-box-runtime=running
apiVersion: apps/v1
kind: DaemonSet
metadata:
...
spec:
...
spec:
tolerations:
- key: karpenter.sh/wait
operator: Exists
effect: NoSchedule
...
I would prefer not to solve this by throwing higher compute specs at it and can wait for the daemon set to be in a running state when nodes scale. Is there a better method?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the NodePool startupTaints and the DaemonSet tolerations shown in the issue, then investigate how sys-box-runtime transitions from Initialization to running during node scaling. Reproduce the node-storm behavior with the supplied Kubernetes configuration; done means a documented or validated approach that lets nodes wait for the DaemonSet without triggering excess scaling.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kubernetes
- Domain
- devops, infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100