Skip to content

Commit 4b3e59c

Browse files
docs: clarify DaemonSet overhead is used for sizing, not reserved
Signed-off-by: Vincent Creusot <vincent.creusot@gmail.com>
1 parent 1d92708 commit 4b3e59c

6 files changed

Lines changed: 90 additions & 0 deletions

File tree

website/content/en/docs/concepts/scheduling.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,21 @@ spec:
131131
Security groups for pods are [currently unsupported for Windows nodes](https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html)
132132
{{% /alert %}}
133133

134+
### DaemonSet overhead
135+
136+
When Karpenter calculates the size of a node for a set of pending pods, it adds the resource requests of every DaemonSet that would run on that node to the pods' own
137+
requests, and picks an instance type large enough for the total.
138+
139+
This overhead is only used to size the node. Karpenter does not reserve
140+
that capacity on the node after it joins the cluster, and it does not bind
141+
pods itself.
142+
143+
{{% alert title="Note" color="primary" %}}
144+
To guarantee DaemonSets get their capacity, give them a
145+
[PriorityClass](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/)
146+
higher than your workloads with `preemptionPolicy: PreemptLowerPriority`.
147+
{{% /alert %}}
148+
134149
## Selecting nodes
135150

136151
With `nodeSelector` you can ask for a node that matches selected key-value pairs.

website/content/en/preview/concepts/scheduling.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,21 @@ spec:
131131
Security groups for pods are [currently unsupported for Windows nodes](https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html)
132132
{{% /alert %}}
133133

134+
### DaemonSet overhead
135+
136+
When Karpenter calculates the size of a node for a set of pending pods, it adds the resource requests of every DaemonSet that would run on that node to the pods' own
137+
requests, and picks an instance type large enough for the total.
138+
139+
This overhead is only used to size the node. Karpenter does not reserve
140+
that capacity on the node after it joins the cluster, and it does not bind
141+
pods itself.
142+
143+
{{% alert title="Note" color="primary" %}}
144+
To guarantee DaemonSets get their capacity, give them a
145+
[PriorityClass](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/)
146+
higher than your workloads with `preemptionPolicy: PreemptLowerPriority`.
147+
{{% /alert %}}
148+
134149
## Selecting nodes
135150

136151
With `nodeSelector` you can ask for a node that matches selected key-value pairs.

website/content/en/v1.0/concepts/scheduling.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,21 @@ spec:
123123
Security groups for pods are [currently unsupported for Windows nodes](https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html)
124124
{{% /alert %}}
125125

126+
### DaemonSet overhead
127+
128+
When Karpenter calculates the size of a node for a set of pending pods, it adds the resource requests of every DaemonSet that would run on that node to the pods' own
129+
requests, and picks an instance type large enough for the total.
130+
131+
This overhead is only used to size the node. Karpenter does not reserve
132+
that capacity on the node after it joins the cluster, and it does not bind
133+
pods itself.
134+
135+
{{% alert title="Note" color="primary" %}}
136+
To guarantee DaemonSets get their capacity, give them a
137+
[PriorityClass](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/)
138+
higher than your workloads with `preemptionPolicy: PreemptLowerPriority`.
139+
{{% /alert %}}
140+
126141
## Selecting nodes
127142

128143
With `nodeSelector` you can ask for a node that matches selected key-value pairs.

website/content/en/v1.12/concepts/scheduling.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,21 @@ spec:
131131
Security groups for pods are [currently unsupported for Windows nodes](https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html)
132132
{{% /alert %}}
133133

134+
### DaemonSet overhead
135+
136+
When Karpenter calculates the size of a node for a set of pending pods, it adds the resource requests of every DaemonSet that would run on that node to the pods' own
137+
requests, and picks an instance type large enough for the total.
138+
139+
This overhead is only used to size the node. Karpenter does not reserve
140+
that capacity on the node after it joins the cluster, and it does not bind
141+
pods itself.
142+
143+
{{% alert title="Note" color="primary" %}}
144+
To guarantee DaemonSets get their capacity, give them a
145+
[PriorityClass](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/)
146+
higher than your workloads with `preemptionPolicy: PreemptLowerPriority`.
147+
{{% /alert %}}
148+
134149
## Selecting nodes
135150

136151
With `nodeSelector` you can ask for a node that matches selected key-value pairs.

website/content/en/v1.13/concepts/scheduling.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,21 @@ spec:
131131
Security groups for pods are [currently unsupported for Windows nodes](https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html)
132132
{{% /alert %}}
133133

134+
### DaemonSet overhead
135+
136+
When Karpenter calculates the size of a node for a set of pending pods, it adds the resource requests of every DaemonSet that would run on that node to the pods' own
137+
requests, and picks an instance type large enough for the total.
138+
139+
This overhead is only used to size the node. Karpenter does not reserve
140+
that capacity on the node after it joins the cluster, and it does not bind
141+
pods itself.
142+
143+
{{% alert title="Note" color="primary" %}}
144+
To guarantee DaemonSets get their capacity, give them a
145+
[PriorityClass](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/)
146+
higher than your workloads with `preemptionPolicy: PreemptLowerPriority`.
147+
{{% /alert %}}
148+
134149
## Selecting nodes
135150

136151
With `nodeSelector` you can ask for a node that matches selected key-value pairs.

website/content/en/v1.14/concepts/scheduling.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,21 @@ spec:
131131
Security groups for pods are [currently unsupported for Windows nodes](https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html)
132132
{{% /alert %}}
133133

134+
### DaemonSet overhead
135+
136+
When Karpenter calculates the size of a node for a set of pending pods, it adds the resource requests of every DaemonSet that would run on that node to the pods' own
137+
requests, and picks an instance type large enough for the total.
138+
139+
This overhead is only used to size the node. Karpenter does not reserve
140+
that capacity on the node after it joins the cluster, and it does not bind
141+
pods itself.
142+
143+
{{% alert title="Note" color="primary" %}}
144+
To guarantee DaemonSets get their capacity, give them a
145+
[PriorityClass](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/)
146+
higher than your workloads with `preemptionPolicy: PreemptLowerPriority`.
147+
{{% /alert %}}
148+
134149
## Selecting nodes
135150

136151
With `nodeSelector` you can ask for a node that matches selected key-value pairs.

0 commit comments

Comments
 (0)