Skip to content

Commit d2f9160

Browse files
authored
Merge pull request #50574 from rayandas/merged-main-dev-1.33
Merge main into dev-1.33
2 parents 9c7ceb1 + d19ad54 commit d2f9160

File tree

97 files changed

+3990
-1836
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+3990
-1836
lines changed

OWNERS_ALIASES

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ aliases:
1111
- nate-double-u
1212
- sftim
1313
sig-docs-website-owners: # Admins for overall website
14+
- dipesh-rawat
1415
- divya-mohan0209
1516
- katcosgrove
1617
- natalisucks
@@ -141,13 +142,15 @@ aliases:
141142
- t-inu
142143
sig-docs-ko-owners: # Admins for Korean content
143144
- gochist
145+
- ianychoi
144146
- jihoon-seo
145147
- jongwooo
146148
- seokho-son
147149
- yoonian
148150
- ysyukr
149151
sig-docs-ko-reviews: # PR reviews for Korean content
150152
- gochist
153+
- ianychoi
151154
- jihoon-seo
152155
- jmyung
153156
- jongwooo

assets/scss/_custom.scss

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1137,26 +1137,6 @@ body.cid-community #cncf-code-of-conduct h2:after {
11371137
}
11381138
}
11391139

1140-
body.cid-casestudies, body.cid-community, body.cid-partners {
1141-
section#deprecation-warning {
1142-
padding: 0;
1143-
margin: 0;
1144-
width: 100%;
1145-
1146-
border-top: solid 1em $primary;
1147-
border-bottom: solid 1em $primary;
1148-
1149-
// Center the pageinfo
1150-
padding-left: calc(max(1rem, (100vw - 60rem) / 2));
1151-
padding-right: calc(max(1rem, (100vw - 60rem) / 2));
1152-
}
1153-
/* Ensure color overrides */
1154-
section#deprecation-warning, section#deprecation-warning > .pageinfo.deprecation-warning {
1155-
background-color: $primary;
1156-
color: #fff;
1157-
}
1158-
}
1159-
11601140
body.cid-partners {
11611141
/* SECTIONS */
11621142
.section {
@@ -1357,16 +1337,6 @@ body.cid-partners {
13571337
}
13581338
}
13591339
}
1360-
body.cid-community > #deprecation-warning > .deprecation-warning {
1361-
margin-left: 20px;
1362-
margin-right: 20px;
1363-
color: #faf5b6;
1364-
background-color: inherit;
1365-
}
1366-
body.cid-community > #deprecation-warning > .deprecation-warning > * {
1367-
color: inherit;
1368-
background-color: inherit;
1369-
}
13701340

13711341
body.cid-code-of-conduct main {
13721342
max-width: calc(min(90vw, 100em));
@@ -1406,22 +1376,6 @@ body.cid-code-of-conduct main {
14061376
}
14071377
}
14081378

1409-
#caseStudies body > #deprecation-warning > .deprecation-warning, body.cid-casestudies > #deprecation-warning > .deprecation-warning {
1410-
color: inherit;
1411-
background: inherit;
1412-
width: 80%;
1413-
margin: 0;
1414-
margin-top: 120px;
1415-
margin-left: auto;
1416-
margin-right: auto;
1417-
border-radius: initial;
1418-
}
1419-
#deprecation-warning > .deprecation-warning a {
1420-
background: transparent;
1421-
color: inherit;
1422-
text-decoration: underline;
1423-
}
1424-
14251379
// search & sidebar
14261380
.td-sidebar {
14271381
@media only screen and (min-width: 768px) {

assets/scss/_k8s_community.scss

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
body.community .k8s-deprecation-warning {
2+
background-color: $primary;
3+
color: white;
4+
margin: 0;
5+
}

assets/scss/_styles_project.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ Add styles or import other files. */
77
@import "custom";
88

99
// Base styles
10+
@import "k8s_community";
1011
@import "k8s_nav";
1112

1213
//Media queries

content/bn/includes/task-tutorial-prereqs.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ kubectl কমান্ড-লাইন টুলটি কনফিগার
55
মধ্যে একটি ব্যবহার করতে পারেন ।
66

77
* [Killercoda](https://killercoda.com/playgrounds/scenario/kubernetes)
8+
* [KodeKloud](https://kodekloud.com/public-playgrounds)
89
* [Play with Kubernetes](https://labs.play-with-k8s.com/)

content/en/blog/_posts/2025-04-11-multicontainer-patterns/index.md renamed to content/en/blog/_posts/2025-04-22-multicontainer-patterns/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
layout: blog
33
title: "Kubernetes Multicontainer Pods: An Overview"
4-
date: 2025-04-15
5-
draft: true
4+
date: 2025-04-22
5+
draft: false
66
slug: multi-container-pods-overview
77
author: Agata Skorupka (The Scale Factory)
88
---
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
---
2+
layout: blog
3+
title: "In-Place Pod Resize Graduating to Beta"
4+
slug: in-place-pod-resize-beta
5+
draft: true
6+
date: XXXX-XX-XX
7+
author: "Tim Allclair (Google)"
8+
---
9+
10+
On behalf of the Kubernetes project, I am excited to announce that the **in-place Pod resize** feature (also known as In-Place Pod Vertical Scaling), first introduced as alpha in Kubernetes v1.27, is graduating to **Beta** and will be enabled by default in the Kubernetes v1.33 release! This marks a significant milestone in making resource management for Kubernetes workloads more flexible and less disruptive.
11+
12+
## What is in-place Pod resize?
13+
14+
Traditionally, changing the CPU or memory resources allocated to a container required restarting the Pod. While acceptable for many stateless applications, this could be disruptive for stateful services, batch jobs, or any workloads sensitive to restarts.
15+
16+
In-place Pod resizing allows you to change the CPU and memory requests and limits assigned to containers within a *running* Pod, often without requiring a container restart.
17+
18+
Here's the core idea:
19+
* The `spec.containers[*].resources` field in a Pod specification now represents the *desired* resources and is mutable for CPU and memory.
20+
* The `status.containerStatuses[*].resources` field reflects the *actual* resources currently configured on a running container.
21+
* You can trigger a resize by updating the desired resources in the Pod spec via the new `resize` subresource.
22+
23+
You can try it out on a v1.33 Kubernetes cluster by using kubectl to edit a Pod (requires `kubectl` v1.32+):
24+
25+
```shell
26+
kubectl edit pod <pod-name> --subresource resize
27+
```
28+
29+
For detailed usage instructions and examples, please refer to the official Kubernetes documentation:
30+
[Resize CPU and Memory Resources assigned to Containers](/docs/tasks/configure-pod-container/resize-container-resources/).
31+
32+
## Why does in-place Pod resize matter?
33+
34+
Kubernetes still excels at scaling workloads horizontally (adding or removing replicas), but in-place Pod resizing unlocks several key benefits for vertical scaling:
35+
36+
* **Reduced Disruption:** Stateful applications, long-running batch jobs, and sensitive workloads can have their resources adjusted without suffering the downtime or state loss associated with a Pod restart.
37+
* **Improved Resource Utilization:** Scale down over-provisioned Pods without disruption, freeing up resources in the cluster. Conversely, provide more resources to Pods under heavy load without needing a restart.
38+
* **Faster Scaling:** Address transient resource needs more quickly. For example Java applications often need more CPU during startup than during steady-state operation. Start with higher CPU and resize down later.
39+
40+
## What's changed between Alpha and Beta?
41+
42+
Since the alpha release in v1.27, significant work has gone into maturing the feature, improving its stability, and refining the user experience based on feedback and further development. Here are the key changes:
43+
44+
### Notable user-facing changes
45+
46+
* **`resize` Subresource:** Modifying Pod resources must now be done via the Pod's `resize` subresource (`kubectl patch pod <name> --subresource resize ...`). `kubectl` versions v1.32+ support this argument.
47+
* **Resize Status via Conditions:** The old `status.resize` field is deprecated. The status of a resize operation is now exposed via two Pod conditions:
48+
* `PodResizePending`: Indicates the Kubelet cannot grant the resize immediately (e.g., `reason: Deferred` if temporarily unable, `reason: Infeasible` if impossible on the node).
49+
* `PodResizeInProgress`: Indicates the resize is accepted and being applied. Errors encountered during this phase are now reported in this condition's message with `reason: Error`.
50+
* **Sidecar Support:** Resizing {{< glossary_tooltip text="sidecar containers" term_id="sidecar-container" >}} in-place is now supported.
51+
52+
### Stability and reliability enhancements
53+
54+
* **Refined Allocated Resources Management:** The allocation management logic with the Kubelet was significantly reworked, making it more consistent and robust. The changes eliminated whole classes of bugs, and greatly improved the reliability of in-place Pod resize.
55+
* **Improved Checkpointing & State Tracking:** A more robust system for tracking "allocated" and "actuated" resources was implemented, using new checkpoint files (`allocated_pods_state`, `actuated_pods_state`) to reliably manage resize state across Kubelet restarts and handle edge cases where runtime-reported resources differ from requested ones. Several bugs related to checkpointing and state restoration were fixed. Checkpointing efficiency was also improved.
56+
* **Faster Resize Detection:** Enhancements to the Kubelet's Pod Lifecycle Event Generator (PLEG) allow the Kubelet to respond to and complete resizes much more quickly.
57+
* **Enhanced CRI Integration:** A new `UpdatePodSandboxResources` CRI call was added to better inform runtimes and plugins (like NRI) about Pod-level resource changes.
58+
* **Numerous Bug Fixes:** Addressed issues related to systemd cgroup drivers, handling of containers without limits, CPU minimum share calculations, container restart backoffs, error propagation, test stability, and more.
59+
60+
## What's next?
61+
62+
Graduating to Beta means the feature is ready for broader adoption, but development doesn't stop here! Here's what the community is focusing on next:
63+
64+
* **Stability and Productionization:** Continued focus on hardening the feature, improving performance, and ensuring it is robust for production environments.
65+
* **Addressing Limitations:** Working towards relaxing some of the current limitations noted in the documentation, such as allowing memory limit decreases.
66+
* **[VerticalPodAutoscaler](/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically) (VPA) Integration:** Work to enable VPA to leverage in-place Pod resize is already underway. A new `InPlaceOrRecreate` update mode will allow it to attempt non-disruptive resizes first, or fall back to recreation if needed. This will allow users to benefit from VPA's recommendations with significantly less disruption.
67+
* **User Feedback:** Gathering feedback from users adopting the beta feature is crucial for prioritizing further enhancements and addressing any uncovered issues or bugs.
68+
69+
## Getting started and providing feedback
70+
71+
With the `InPlacePodVerticalScaling` feature gate enabled by default in v1.33, you can start experimenting with in-place Pod resizing right away!
72+
73+
Refer to the [documentation](/docs/tasks/configure-pod-container/resize-container-resources/) for detailed guides and examples.
74+
75+
As this feature moves through Beta, your feedback is invaluable. Please report any issues or share your experiences via the standard Kubernetes communication channels (GitHub issues, mailing lists, Slack). You can also review the [KEP-1287: In-place Update of Pod Resources](https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/1287-in-place-update-pod-resources) for the full in-depth design details.
76+
77+
We look forward to seeing how the community leverages in-place Pod resize to build more efficient and resilient applications on Kubernetes!

content/en/docs/concepts/security/multi-tenancy.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -451,19 +451,18 @@ customize policies to individual workloads, and secondly, it may be challenging
451451
single level of "tenancy" that should be given a namespace. For example, an organization may have
452452
divisions, teams, and subteams - which should be assigned a namespace?
453453

454-
To solve this, Kubernetes provides the [Hierarchical Namespace Controller (HNC)](https://github.com/kubernetes-sigs/hierarchical-namespaces),
455-
which allows you to organize your namespaces into hierarchies, and share certain policies and
456-
resources between them. It also helps you manage namespace labels, namespace lifecycles, and
457-
delegated management, and share resource quotas across related namespaces. These capabilities can
454+
One possible approach is to organize your namespaces into hierarchies, and share certain policies and
455+
resources between them. This could include managing namespace labels, namespace lifecycles,
456+
delegated access, and shared resource quotas across related namespaces. These capabilities can
458457
be useful in both multi-team and multi-customer scenarios.
459458

460-
Other projects that provide similar capabilities and aid in managing namespaced resources are
459+
Some third-party projects that provide capabilities like this and aid in managing namespaced resources are
461460
listed below.
462461

463-
#### Multi-team tenancy
464-
465462
{{% thirdparty-content %}}
466463

464+
#### Multi-team tenancy
465+
467466
* [Capsule](https://github.com/clastix/capsule)
468467
* [Multi Tenant Operator](https://docs.stakater.com/mto/)
469468

content/en/docs/contribute/blog/submission.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ For the Kubernetes blog, the blog team usually schedules blog articles to publis
6464
(Gregorian calendar, as used in the USA and other countries). When it's important to publish on
6565
a specific date that falls on a weekend, the blog team try to accommodate that.
6666

67-
The section on [authoring a blog article]{#authoring} explains what to do:
67+
The section on [authoring a blog article](#authoring) explains what to do:
6868

6969
* initially, don't specify a date for the article
7070
* however, do set the article as draft (put `draft: true` in the front matter)

content/en/docs/reference/command-line-tools-reference/feature-gates/PreferAlignCpusByUncoreCache.md

Lines changed: 0 additions & 13 deletions
This file was deleted.

0 commit comments

Comments
 (0)