Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 0374213

Browse filesBrowse files
committed
KEP 2837: Pod Level Resources Alpha
1 parent 16ea406 commit 0374213
Copy full SHA for 0374213

16 files changed

+408
-0
lines changed

‎content/en/docs/concepts/configuration/manage-resources-containers.md

Copy file name to clipboardExpand all lines: content/en/docs/concepts/configuration/manage-resources-containers.md
+33
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,26 @@ a Pod.
9494
For a particular resource, a *Pod resource request/limit* is the sum of the
9595
resource requests/limits of that type for each container in the Pod.
9696

97+
## Pod-level resource specification
98+
99+
{{< feature-state feature_gate_name="PodLevelResources" >}}
100+
101+
Starting in Kubernetes 1.32, you can also specify resource requests and limits at
102+
the Pod level. the Pod level. At Pod level, Kubernetes {{< skew currentVersion >}}
103+
only supports resource requests or limits for specific resource types: `cpu` and /
104+
or `memory`. This feature is currently in alpha and with the feature enabled,
105+
Kubernetes allows you to declare an overall resource budget for the Pod, which is
106+
especially helpful when dealing with a large number of containers where it can be
107+
difficult to accurately gauge individual resource needs. Additionally, it enables
108+
containers within a Pod to share idle resources with each other, improving resource
109+
utilization.
110+
111+
For a Pod, you can specify resource limits and requests for CPU and memory by including the following:
112+
* `spec.resources.limits.cpu`
113+
* `spec.resources.limits.memory`
114+
* `spec.resources.requests.cpu`
115+
* `spec.resources.requests.memory`
116+
97117
## Resource units in Kubernetes
98118

99119
### CPU resource units {#meaning-of-cpu}
@@ -177,6 +197,19 @@ spec:
177197
cpu: "500m"
178198
```
179199
200+
## Pod resources example {#example-2}
201+
202+
{{< feature-state feature_gate_name="PodLevelResources" >}}
203+
204+
The following Pod has an explicit request of 1 CPU and 100 MiB of memory, and an
205+
explicit limit of 1 CPU and 200 MiB of memory. The `pod-resources-demo-ctr-1`
206+
container has explicit requests and limits set. However, the
207+
`pod-resources-demo-ctr-2` container will simply share the resources available
208+
within the Pod resource boundaries, as it does not have explicit requests and limits
209+
set.
210+
211+
{{% code_sample file="pods/resource/pod-level-resources.yaml" %}}
212+
180213
## How Pods with resource requests are scheduled
181214

182215
When you create a Pod, the Kubernetes scheduler selects a node for the Pod to
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
title: PodLevelResources
3+
content_type: feature_gate
4+
_build:
5+
list: never
6+
render: false
7+
8+
stages:
9+
- stage: alpha
10+
defaultValue: false
11+
fromVersion: "1.32"
12+
---
13+
Enable _Pod level resources_: the ability to specify resource requests and limits
14+
at the Pod level, rather than only for specific containers.

‎content/en/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace.md

Copy file name to clipboardExpand all lines: content/en/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace.md
+2
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,8 @@ kubectl delete namespace constraints-cpu-example
277277

278278
* [Assign CPU Resources to Containers and Pods](/docs/tasks/configure-pod-container/assign-cpu-resource/)
279279

280+
* [Assign Pod-level CPU and memory resources](/docs/tasks/configure-pod-container/assign-pod-level-resources/)
281+
280282
* [Configure Quality of Service for Pods](/docs/tasks/configure-pod-container/quality-service-pod/)
281283

282284

‎content/en/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace.md

Copy file name to clipboardExpand all lines: content/en/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace.md
+2
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,8 @@ kubectl delete namespace default-cpu-example
211211

212212
* [Assign CPU Resources to Containers and Pods](/docs/tasks/configure-pod-container/assign-cpu-resource/)
213213

214+
* [Assign Pod-level CPU and memory resources](/docs/tasks/configure-pod-container/assign-pod-level-resources/)
215+
214216
* [Configure Quality of Service for Pods](/docs/tasks/configure-pod-container/quality-service-pod/)
215217

216218

‎content/en/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace.md

Copy file name to clipboardExpand all lines: content/en/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace.md
+2
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,8 @@ kubectl delete namespace constraints-mem-example
275275

276276
* [Assign CPU Resources to Containers and Pods](/docs/tasks/configure-pod-container/assign-cpu-resource/)
277277

278+
* [Assign Pod-level CPU and memory resources](/docs/tasks/configure-pod-container/assign-pod-level-resources/)
279+
278280
* [Configure Quality of Service for Pods](/docs/tasks/configure-pod-container/quality-service-pod/)
279281

280282

‎content/en/docs/tasks/administer-cluster/manage-resources/memory-default-namespace.md

Copy file name to clipboardExpand all lines: content/en/docs/tasks/administer-cluster/manage-resources/memory-default-namespace.md
+2
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,8 @@ kubectl delete namespace default-mem-example
228228

229229
* [Assign CPU Resources to Containers and Pods](/docs/tasks/configure-pod-container/assign-cpu-resource/)
230230

231+
* [Assign Pod-level CPU and memory resources](/docs/tasks/configure-pod-container/assign-pod-level-resources/)
232+
231233
* [Configure Quality of Service for Pods](/docs/tasks/configure-pod-container/quality-service-pod/)
232234

233235

‎content/en/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace.md

Copy file name to clipboardExpand all lines: content/en/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace.md
+2
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,8 @@ kubectl delete namespace quota-mem-cpu-example
185185

186186
* [Assign CPU Resources to Containers and Pods](/docs/tasks/configure-pod-container/assign-cpu-resource/)
187187

188+
* [Assign Pod-level CPU and memory resources](/docs/tasks/configure-pod-container/assign-pod-level-resources/)
189+
188190
* [Configure Quality of Service for Pods](/docs/tasks/configure-pod-container/quality-service-pod/)
189191

190192

‎content/en/docs/tasks/administer-cluster/manage-resources/quota-pod-namespace.md

Copy file name to clipboardExpand all lines: content/en/docs/tasks/administer-cluster/manage-resources/quota-pod-namespace.md
+2
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,8 @@ kubectl delete namespace quota-pod-example
142142

143143
* [Assign CPU Resources to Containers and Pods](/docs/tasks/configure-pod-container/assign-cpu-resource/)
144144

145+
* [Assign Pod-level CPU and memory resources](/docs/tasks/configure-pod-container/assign-pod-level-resources/)
146+
145147
* [Configure Quality of Service for Pods](/docs/tasks/configure-pod-container/quality-service-pod/)
146148

147149

‎content/en/docs/tasks/administer-cluster/quota-api-object.md

Copy file name to clipboardExpand all lines: content/en/docs/tasks/administer-cluster/quota-api-object.md
+2
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,8 @@ kubectl delete namespace quota-object-example
167167

168168
* [Assign CPU Resources to Containers and Pods](/docs/tasks/configure-pod-container/assign-cpu-resource/)
169169

170+
* [Assign Pod-level CPU and memory resources](/docs/tasks/configure-pod-container/assign-pod-level-resources/)
171+
170172
* [Configure Quality of Service for Pods](/docs/tasks/configure-pod-container/quality-service-pod/)
171173

172174

‎content/en/docs/tasks/configure-pod-container/assign-cpu-resource.md

Copy file name to clipboardExpand all lines: content/en/docs/tasks/configure-pod-container/assign-cpu-resource.md
+2
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,8 @@ kubectl delete namespace cpu-example
257257

258258
* [Assign Memory Resources to Containers and Pods](/docs/tasks/configure-pod-container/assign-memory-resource/)
259259

260+
* [Assign Pod-level CPU and memory resources](/docs/tasks/configure-pod-container/assign-pod-level-resources/)
261+
260262
* [Configure Quality of Service for Pods](/docs/tasks/configure-pod-container/quality-service-pod/)
261263

262264
### For cluster administrators

‎content/en/docs/tasks/configure-pod-container/assign-memory-resource.md

Copy file name to clipboardExpand all lines: content/en/docs/tasks/configure-pod-container/assign-memory-resource.md
+2
Original file line numberDiff line numberDiff line change
@@ -340,6 +340,8 @@ kubectl delete namespace mem-example
340340

341341
* [Assign CPU Resources to Containers and Pods](/docs/tasks/configure-pod-container/assign-cpu-resource/)
342342

343+
* [Assign Pod-level CPU and memory resources](/docs/tasks/configure-pod-container/assign-pod-level-resources/)
344+
343345
* [Configure Quality of Service for Pods](/docs/tasks/configure-pod-container/quality-service-pod/)
344346

345347
### For cluster administrators

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.