Skip to content

Commit aaa4d95

Browse files
Merge branch 'kubernetes:main' into finalizers-docs-add-fqdn-requirement
2 parents 3bb1a9a + b7537bf commit aaa4d95

File tree

9 files changed

+58
-29
lines changed

9 files changed

+58
-29
lines changed

content/en/blog/_posts/2024-12-17-api-streaming/index.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,3 +90,12 @@ In the test, we created 400 Secrets, each containing 1 MB of data, and used info
9090
The results were alarming, only 16 informers were needed to cause the test server to run out of memory and crash, demonstrating how quickly memory consumption can grow under such conditions.
9191

9292
Special shout out to [@deads2k](https://github.com/deads2k) for his help in shaping this feature.
93+
94+
## Kubernetes 1.33 update
95+
96+
Since this feature was started, [Marek Siarkowicz](https://github.com/serathius) integrated a new technology into the
97+
Kubernetes API server: _streaming collection encoding_.
98+
Kubernetes v1.33 introduced two related feature gates, `StreamingCollectionEncodingToJSON` and `StreamingCollectionEncodingToProtobuf`.
99+
These features encode via a stream and avoid allocating all the memory at once.
100+
This functionality is bit-for-bit compatible with existing **list** encodings, produces even greater server-side memory savings, and doesn't require any changes to client code.
101+
In 1.33, the `WatchList` feature gate is disabled by default.

content/en/blog/_posts/XXXX-XX-XX-dra-133-update.md renamed to content/en/blog/_posts/2025-05-02-kubernetes-v1-33-dra-updates.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
---
22
layout: blog
33
title: "Kubernetes v1.33: New features in DRA"
4-
slug: dra-133-updates
5-
draft: true
6-
date: XXXX-XX-XX
4+
slug: kubernetes-v1-33-dra-updates
5+
date: 2025-05-02T10:30:00-08:00
76
author: >
87
[Morten Torkildsen](https://github.com/mortent) (Google)
98
[Patrick Ohly](https://github.com/pohly) (Intel)
109
---
1110

12-
Kubernetes [Dynamic Resource Allocation](/docs/concepts/scheduling-eviction/dynamic-resource-allocation/) (DRA) was originally introduced as an alpha feature in the v1.26 release, and then went through a significant redesign for Kubernetes v1.31. The main DRA feature went to beta in v1.32 and the project hopes it will be generally available in Kubernetes v1.34.
11+
Kubernetes [Dynamic Resource Allocation](/docs/concepts/scheduling-eviction/dynamic-resource-allocation/) (DRA) was originally introduced as an alpha feature in the v1.26 release, and then went through a significant redesign for Kubernetes v1.31. The main DRA feature went to beta in v1.32, and the project hopes it will be generally available in Kubernetes v1.34.
1312

1413
The basic feature set of DRA provides a far more powerful and flexible API for requesting devices than Device Plugin. And while DRA remains a beta feature for v1.33, the DRA team has been hard at work implementing a number of new features and UX improvements. One feature has been promoted to beta, while a number of new features have been added in alpha. The team has also made progress towards getting DRA ready for GA.
1514

@@ -19,7 +18,7 @@ The basic feature set of DRA provides a far more powerful and flexible API for r
1918

2019
### New alpha features
2120

22-
[Partitionable Devices](/docs/concepts/scheduling-eviction/dynamic-resource-allocation/#partitionable-devices) lets a driver advertise several overlapping logical devices (“partitions”) and the driver can reconfigure the physical device dynamically based on the actual devices allocated. This makes it possible to partition devices on-demand to meet the need of the workloads and therefore increase the utilization.
21+
[Partitionable Devices](/docs/concepts/scheduling-eviction/dynamic-resource-allocation/#partitionable-devices) lets a driver advertise several overlapping logical devices (“partitions”), and the driver can reconfigure the physical device dynamically based on the actual devices allocated. This makes it possible to partition devices on-demand to meet the needs of the workloads and therefore increase the utilization.
2322

2423
[Device Taints and Tolerations](/docs/concepts/scheduling-eviction/dynamic-resource-allocation/#device-taints-and-tolerations) allow devices to be tainted and for workloads to tolerate those taints. This makes it possible for drivers or cluster administrators to mark devices as unavailable. Depending on the effect of the taint, this can prevent devices from being allocated or cause eviction of pods that are using the device.
2524

@@ -39,13 +38,13 @@ The alpha features that were added in v1.33 will be brought to beta in v1.34.
3938

4039
### Getting involved
4140

42-
A good starting point is joining the WG Device Management [Slack channel](https://kubernetes.slack.com/archives/C0409NGC1TK) and [meetings](https://docs.google.com/document/d/1qxI87VqGtgN7EAJlqVfxx86HGKEAc2A3SKru8nJHNkQ/edit?tab=t.0#heading=h.tgg8gganowxq) which happens at US/EU and EU/APAC friendly time slots.
41+
A good starting point is joining the WG Device Management [Slack channel](https://kubernetes.slack.com/archives/C0409NGC1TK) and [meetings](https://docs.google.com/document/d/1qxI87VqGtgN7EAJlqVfxx86HGKEAc2A3SKru8nJHNkQ/edit?tab=t.0#heading=h.tgg8gganowxq), which happen at US/EU and EU/APAC friendly time slots.
4342

44-
Not all enhancement ideas are tracked as issues yet, so come talk to us if you want to help or have some ideas yourself! We have work to do at all levels, from difficult core changes to usability enhancements in kubectl which could be picked up by newcomers.
43+
Not all enhancement ideas are tracked as issues yet, so come talk to us if you want to help or have some ideas yourself! We have work to do at all levels, from difficult core changes to usability enhancements in kubectl, which could be picked up by newcomers.
4544

4645
### Acknowledgments
4746

48-
A huge thanks to everyone who have contributed:
47+
A huge thanks to everyone who has contributed:
4948

5049
* Cici Huang ([cici37](https://github.com/cici37))
5150
* Ed Bartosh ([bart0sh](https://github.com/bart0sh])

content/en/docs/concepts/architecture/self-healing.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
11
---
22
title: Kubernetes Self-Healing
33
content_type: concept
4-
Weight: 50
4+
weight: 50
5+
feature:
6+
title: Self-healing
7+
anchor: Automated recovery from damage
8+
description: >
9+
Kubernetes restarts containers that crash, replaces entire Pods where needed,
10+
reattaches storage in response to wider failures, and can integrate with
11+
node autoscalers to self-heal even at the node level.
512
---
613
<!-- overview -->
714

content/en/docs/concepts/workloads/controllers/replicaset.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
---
2+
# NOTE TO LOCALIZATION TEAMS
3+
#
4+
# If updating front matter for your localization because there is still
5+
# a "feature" key in this page, then you also need to update
6+
# content/??/docs/concepts/architecture/self-healing.md (which is where
7+
# it moved to)
28
reviewers:
39
- Kashomon
410
- bprashanth
@@ -7,13 +13,6 @@ title: ReplicaSet
713
api_metadata:
814
- apiVersion: "apps/v1"
915
kind: "ReplicaSet"
10-
feature:
11-
title: Self-healing
12-
anchor: How a ReplicaSet works
13-
description: >
14-
Restarts containers that fail, replaces and reschedules containers when nodes die,
15-
kills containers that don't respond to your user-defined health check,
16-
and doesn't advertise them to clients until they are ready to serve.
1716
content_type: concept
1817
description: >-
1918
A ReplicaSet's purpose is to maintain a stable set of replica Pods running at any given time.

content/zh-cn/docs/concepts/cluster-administration/coordinated-leader-election.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@ weight: 200
1616
{{< feature-state feature_gate_name="CoordinatedLeaderElection" >}}
1717

1818
<!--
19-
Kubernetes {{< skew currentVersion >}} includes an alpha feature that allows {{<
19+
Kubernetes {{< skew currentVersion >}} includes a beta feature that allows {{<
2020
glossary_tooltip text="control plane" term_id="control-plane" >}} components to
2121
deterministically select a leader via _coordinated leader election_.
2222
This is useful to satisfy Kubernetes version skew constraints during cluster upgrades.
2323
Currently, the only builtin selection strategy is `OldestEmulationVersion`,
2424
preferring the leader with the lowest emulation version, followed by binary
2525
version, followed by creation timestamp.
2626
-->
27-
Kubernetes {{< skew currentVersion >}} 包含一个 Alpha 特性,
27+
Kubernetes {{< skew currentVersion >}} 包含一个 Beta 特性,
2828
允许{{< glossary_tooltip text="控制平面" term_id="control-plane" >}}组件通过**协调领导者选举**确定性地选择一个领导者。
2929
这对于在集群升级期间满足 Kubernetes 版本偏差约束非常有用。
3030
目前,唯一内置的选择策略是 `OldestEmulationVersion`
@@ -36,34 +36,34 @@ Kubernetes {{< skew currentVersion >}} 包含一个 Alpha 特性,
3636
Ensure that `CoordinatedLeaderElection` [feature
3737
gate](/docs/reference/command-line-tools-reference/feature-gates/) is enabled
3838
when you start the {{< glossary_tooltip text="API Server"
39-
term_id="kube-apiserver" >}}: and that the `coordination.k8s.io/v1alpha1` API group is
39+
term_id="kube-apiserver" >}}: and that the `coordination.k8s.io/v1beta1` API group is
4040
enabled.
4141
-->
4242
## 启用协调领导者选举 {#enabling-coordinated-leader-election}
4343

4444
确保你在启动 {{< glossary_tooltip text="API 服务器" term_id="kube-apiserver" >}}时
4545
`CoordinatedLeaderElection` [特性门控](/zh-cn/docs/reference/command-line-tools-reference/feature-gates/)被启用,
46-
并且 `coordination.k8s.io/v1alpha1` API 组被启用。
46+
并且 `coordination.k8s.io/v1beta1` API 组被启用。
4747

4848
<!--
4949
This can be done by setting flags `--feature-gates="CoordinatedLeaderElection=true"` and
50-
`--runtime-config="coordination.k8s.io/v1alpha1=true"`.
50+
`--runtime-config="coordination.k8s.io/v1beta1=true"`.
5151
-->
5252
此操作可以通过设置 `--feature-gates="CoordinatedLeaderElection=true"`
53-
`--runtime-config="coordination.k8s.io/v1alpha1=true"` 标志来完成。
53+
`--runtime-config="coordination.k8s.io/v1beta1=true"` 标志来完成。
5454

5555
<!--
5656
## Component configuration
5757
5858
Provided that you have enabled the `CoordinatedLeaderElection` feature gate _and_
59-
have the `coordination.k8s.io/v1alpha1` API group enabled, compatible control plane
59+
have the `coordination.k8s.io/v1beta1` API group enabled, compatible control plane
6060
components automatically use the LeaseCandidate and Lease APIs to elect a leader
6161
as needed.
6262
-->
6363
## 组件配置 {#component-configuration}
6464

6565
前提是你已启用 `CoordinatedLeaderElection` 特性门控**并且**
66-
启用了 `coordination.k8s.io/v1alpha1` API 组,
66+
启用了 `coordination.k8s.io/v1beta1` API 组,
6767
兼容的控制平面组件会自动使用 LeaseCandidate 和 Lease API 根据需要选举领导者。
6868

6969
<!--

content/zh-cn/docs/reference/kubernetes-api/config-and-storage-resources/volume.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1565,7 +1565,7 @@ Volume 表示 Pod 中一个有名字的卷,可以由 Pod 中的任意容器进
15651565
- IfNotPresent:如果磁盘上尚不存在此引用,kubelet 执行拉取操作。若此引用不存在且拉取失败,则容器创建将失败。
15661566

15671567
<!--
1568-
The volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation. A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message. The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field. The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images. The volume will be mounted read-only (ro) and non-executable files (noexec). Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath). The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type.
1568+
The volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation. A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message. The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field. The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images. The volume will be mounted read-only (ro) and non-executable files (noexec). Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath) before 1.33. The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type.
15691569
-->
15701570

15711571
如果 Pod 被删除并重新创建,此卷会被重新解析,这意味着在 Pod 重新创建时将可以访问新的远程内容。
@@ -1574,7 +1574,7 @@ Volume 表示 Pod 中一个有名字的卷,可以由 Pod 中的任意容器进
15741574
此卷可以挂载的对象类型由主机上的容器运行时实现负责定义,至少必须包含容器镜像字段所支持的所有有效类型。
15751575
OCI 对象将以只读方式被挂载到单个目录(`spec.containers[*].volumeMounts.mountPath`)中。
15761576
在 Linux 上,容器运行时通常还会挂载阻止文件执行(`noexec`)的卷。
1577-
不支持容器使用子路径挂载`spec.containers[*].volumeMounts.subpath`)。
1577+
1.33 版本之前不支持容器使用子路径挂载`spec.containers[*].volumeMounts.subpath`)。
15781578
`spec.securityContext.fsGroupChangePolicy` 字段对这种卷没有效果。
15791579

15801580
<!--

content/zh-cn/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade/kubeadm_upgrade_plan.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,20 @@ Path to a kubeadm configuration file.
8989
</td>
9090
</tr>
9191

92+
<tr>
93+
<td colspan="2">--etcd-upgrade&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<!--Default:-->默认值:true</td>
94+
</tr>
95+
<tr>
96+
<td></td><td style="line-height: 130%; word-wrap: break-word;">
97+
<p>
98+
<!--
99+
Perform the upgrade of etcd.
100+
-->
101+
执行 etcd 升级。
102+
</p>
103+
</td>
104+
</tr>
105+
92106
<tr>
93107
<td colspan="2">-o, --experimental-output string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default: "text"</td>
94108
</tr>

content/zh-cn/docs/tasks/configure-pod-container/assign-memory-resource.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -522,6 +522,8 @@ kubectl delete namespace mem-example
522522
* [Assign Pod-level CPU and memory resources](/docs/tasks/configure-pod-container/assign-pod-level-resources/)
523523
524524
* [Configure Quality of Service for Pods](/docs/tasks/configure-pod-container/quality-service-pod/)
525+
526+
* [Resize CPU and Memory Resources assigned to Containers](/docs/tasks/configure-pod-container/resize-container-resources/)
525527
-->
526528
### 应用开发者扩展阅读 {#for-app-developers}
527529

@@ -531,6 +533,8 @@ kubectl delete namespace mem-example
531533

532534
* [配置 Pod 的服务质量](/zh-cn/docs/tasks/configure-pod-container/quality-service-pod/)
533535

536+
* [调整分配给容器的 CPU 和内存资源大小](/zh-cn/docs/tasks/configure-pod-container/resize-container-resources/)
537+
534538
<!--
535539
### For cluster administrators
536540

layouts/partials/hooks/body-end.html

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
{{ if .HasShortcode "kat-button" }}
2-
<div id="katacoda-environment" data-katacoda-ondemand="true" data-katacoda-port="30000" data-katacoda-env="minikube:1.20" data-katacoda-command="start.sh" data-katacoda-ui="panel"></div>
3-
{{ end }}
41
{{ with .Site.Params.algolia_docsearch }}
52
<!-- scripts for algolia docsearch -->
63
{{ end }}

0 commit comments

Comments
 (0)