Kubernetes 1.32 全量发布解读:v1.32.0 到 v1.32.13 的升级要点、安全补丁与源码实证
【免费下载链接】kubernetesProduction-Grade Container Scheduling and Management项目地址: https://gitcode.com/GitHub_Trending/kuber/kubernetes
本文基于仓库中的 CHANGELOG-1.32.md 系统梳理 Kubernetes v1.32 系列的完整发布记录(v1.32.0-alpha.1 至 v1.32.13,共 22 个版本),逐版本解读其产物构成、v1.32.0 的重大 API 与特性变更、四个 CVE 安全补丁的修复时间线,以及升级前必须执行的检查项。读完本篇,你可以准确判断自己集群所处的 v1.32.x 版本应升级的目标版本、升级前需要清理哪些资源与状态文件,并能在本仓库源码中定位这些变更的实现证据。
一、版本全景:v1.32 系列包含哪些版本
CHANGELOG 目录以「一个 minor 版本一个文件」的方式组织全部发布记录,入口在 CHANGELOG/README.md。v1.32 系列的版本序列如下表,表中「关键内容」均摘自 CHANGELOG-1.32.md 各版本的 "Changes by Kind" 章节:
| 版本 | 关键内容(摘自 Changelog since 上一版本) |
|---|---|
| v1.32.13 | Kubernetes 改用 Go 1.24.13 构建 |
| v1.32.12 | kubeadm patch Node 对象时不再因未知 API 错误提前退出;DRA 修复快速调度多 Pod 时同一设备被分配给两个 ResourceClaim 的竞态;kubeadmextraArgs覆盖项不再被字典序重排(保证--service-account-issuer等顺序敏感 flag 的位置) |
| v1.32.11 | 修复 1.30+ 默认配置下 ValidatingAdmissionPolicy/MutatingAdmissionPolicy 拦截新建命名空间内对象时出现 spurious "namespace not found" 的错误;慢启动的容器运行时不再触发 System WatchDog 杀死 kubelet |
| v1.32.10 | kubeadm 支持 v1.33 偏斜控制面版本时的 etcd v3.5.24;修复 Windows kube-proxy(winkernel)多个 HNS 问题;修复 Job 恢复后status.startTime: Required value更新失败 |
| v1.32.9 | 修复 kubeadm 默认 v1beta4 配置下未尊重 v1beta3ClusterConfiguration.APIServer.TimeoutForControlPlane的缺陷;屏蔽 Linux 容器对/proc、/sys中热中断信息的访问 |
| v1.32.8 | 安全修复 CVE-2025-5187(Node 可通过添加 OwnerReference 自删);NodeRestriction 禁止节点修改自身的 ownerReferences |
| v1.32.7 | 修复新建 Job 的 Pod 创建延迟异常、suspend=true且completions=0的 Job 校验、kubeadm etcd member 提升(promotion)失败问题 |
| v1.32.6 | 安全修复 CVE-2025-4563(节点绕过 DRA 授权检查);关闭静态 Pod 引用任意 ResourceClaim 的漏洞 |
| v1.32.5 | 修复 CSI 驱动不支持节点扩容且 PVC 为 ReadWriteMany 时 PVC status 出现错误 NodeResizeError 条件的问题 |
| v1.32.4 | 修复 kube-apiserver 在早期事件解密失败时的重复 watch 事件;修复 CEL CIDR 库子网包含判断错误;新增OrderedNamespaceDeletionfeature gate |
| v1.32.3 | 修复 DRA CEL 表达式因成本估算不完整而超限的问题;修复 1.32 引入的 postStart hook Pod 启动失败、kubelet 重启后节点无法上报状态和续期证书等回归 |
| v1.32.2 | 安全修复 CVE-2025-0426(kubelet checkpoint API 节点 DoS);将ServiceAccountNodeAudienceRestriction回退为默认关闭 |
| v1.32.1 | 安全修复 CVE-2024-9042(Windows 节点 logs/query API 命令注入);DRA 同一 ResourceClaim 可被最多 256(原 32)个 Pod 使用 |
| v1.32.0 | GA 版本:DRA 核心能力晋级 beta、InPlacePodVerticalScaling beta、CBOR 编解码、btree watch cache 等大量变更,详见第三节 |
| v1.32.0-rc.2 / rc.1 / rc.0 | 修复 Windows 节点 CSI 卷挂载问题;/flagz端点回归修复;RemoteRequestHeaderUID 改为 alpha gate 控制 |
| v1.32.0-beta.0 | 紧急升级说明:使用 InPlacePodVerticalScaling 的集群升级 kubelet 前必须清理状态文件(详见第五节) |
| v1.32.0-alpha.1~3 | 预发布迭代,API 破坏性变更(调度器插件接口、coordination API 版本替换等)在此阶段进入 |
该系列最后一个补丁版本为 v1.32.13(仅 Go 工具链升级到 1.24.13)。各版本之间还持续升级 Go 工具链,从 v1.32.0 时期的 Go 1.23.x 演进到 v1.32.11/12 的 Go 1.24.10/12、v1.32.13 的 Go 1.24.13。
二、发布产物体系:从 sha512 校验到容器镜像
CHANGELOG 中每个版本都包含完整的 "Downloads" 小节,这是验证产物完整性的权威依据。以 v1.32.13 为例,产物分为五类:
2.1 源码包
| 文件 | 用途 |
|---|---|
kubernetes.tar.gz | 编译产物全集(含 client/server/node 二进制) |
kubernetes-src.tar.gz | 完整源码 |
每个文件都附带 sha512 哈希(如 v1.32.13 的kubernetes.tar.gz为5b82356e49f4fe54fe784e114cc4894dd13b2bfb534a0f19989bb602df27f982dd7b37886208305f74f17e6d218132a52d4151c3a9d7318aa4b4ab6c7a6cdf9b),下载后可用sha512sum比对。
2.2 客户端二进制(kubectl 等)
覆盖 11 个平台组合:darwin-amd64/arm64,linux-386/amd64/arm/arm64/ppc64le/s390x,windows-386/amd64/arm64。
2.3 服务端二进制
kube-apiserver、kube-controller-manager、kube-scheduler,覆盖 linux-amd64/arm64/ppc64le/s390x 四种架构。
2.4 节点二进制
kubelet、kube-proxy 及 kubectl,覆盖 linux 四种架构加 windows-amd64。
2.5 容器镜像
每个版本固定发布 6 个镜像,均支持 amd64、arm64、ppc64le、s390x 四种架构(manifest list 形式):
registry.k8s.io/kube-apiserver:v1.32.xregistry.k8s.io/kube-controller-manager:v1.32.xregistry.k8s.io/kube-scheduler:v1.32.xregistry.k8s.io/kube-proxy:v1.32.xregistry.k8s.io/kubectl:v1.32.xregistry.k8s.io/conformance:v1.32.x
CHANGELOG 明确指出:所有镜像都是 manifest list,也可以通过在镜像名后加-$ARCH后缀直接拉取特定架构(如registry.k8s.io/kube-apiserver:v1.32.13-amd64)。
三、v1.32.0 的重大变更(相对 v1.31.0)
v1.32.0 是功能密集的版本,CHANGELOG 将其变更按 Deprecation / API Change / Feature / Documentation / Failing Test / Bug or Regression / Other 分类。以下是影响面最大的几项。
3.1 动态资源分配(DRA)晋级 beta,经典 DRA 被移除
- DRA 核心功能晋级 beta:升级时无需任何操作,旧
resource.k8s.io/v1alpha3API 仍受支持,现有 DRA 驱动继续工作。但从 1.32 降级回 1.31 不受支持——因为 v1beta1 被用作存储版本,1.31 无法读取。 - 经典(classic)DRA 全面移除:
DRAControlPlaneControllerfeature gate 不再可用,Kubernetes 只保留 structured parameters 模型(alpha)。如果集群曾启用经典 DRA,升级前必须移除所有依赖它的工作负载,并确保所有PodSchedulingContext资源已删除——升级后这些资源无法通过 apiserver 删除,工作负载将无法正常工作。 - DRA 调度性能大幅优化:不同场景下 Pod 调度速度最高提升 16 倍;调度吞吐率与集群利用率强相关(空闲集群收益最大)。
DeviceRequestAllocationResult新增AdminAccess字段;允许 admin 访问需启用DRAAdminAccessfeature gate。- ResourceClaim 的
status.reservedFor上限从 32 提升到 256 个 Pod(注意:在 1.32.0 中该放宽曾导致降级问题,见 v1.32.1 条目——1.32.0 会拒绝更新reservedFor超过 32 项的 ResourceClaim)。 ResourceClaim.Status新增 driver-owned 字段,用于上报每个已分配设备的状态数据。- 不透明设备配置参数在 admission 时强制 10KiB 大小上限。
- DRA 驱动应从 alpha gRPC API 迁移到 v1beta1 gRPC API(alpha 版本仍可用但可能在未来移除)。
3.2 Pod 原地垂直扩缩容(InPlacePodVerticalScaling)进入 beta
- 新增
/resize子资源用于发起 Pod 资源调整请求,客户端代码需要改用该子资源。本仓库中该子资源注册在 Pod 存储层(resizeStore使用registrypod.ResizeStrategy),与 binding/status 等既有子资源并列。 - Pod API 支持
spec级别的resources字段(Pod 级资源)。 ContainerStatus.AllocatedResources由独立 gateInPlacePodVerticalScalingAllocatedStatus保护。- beta 版本不支持对 Guaranteed Pod(整数 CPU)在静态 CPU/Memory policy 节点上执行 resize,相关 gate
InPlacePodVerticalScalingExclusiveCPUs默认关闭;同时移除了「resize 时删除 requests/limits」的支持,Windows 平台放弃该特性的支持。 status.containerStatuses[].resources中新增扩展资源状态字段。
3.3 kube-apiserver:CBOR、btree watch cache 与可观测性端点
- CBOR 编解码:新增
CBORServingAndStoragefeature gate,允许以 CBOR 作为 API 请求/响应体编码和自定义资源存储编码;client-go 侧需启用ClientsAllowCBOR/ClientsPreferCBOR客户端 gate 才会请求该格式。CBOR watch 响应的 Content-Type 规范为application/cbor-seq。 - btree watch cache:list 动词的 watch cache 采用 btree 新实现,默认启用,可通过关闭
BtreeWatchCachegate 退出;bookmark 事件在缓存全部条目处理完后立即发出,watch 流的合成 Bookmark 事件新增kubernetes.io/initial-events-list-blueprint注解(内含按请求格式编码再 base64 的空版本化列表)。 - 新增
/flagz(报告生效的 flag 值)和/statusz(报告 API server 状态)端点;--tracing-config-file、--admission-control-config-file、--egress-selector-config-file及 ResourceQuota 配置小节均改为严格校验(EnableStrict),重复或未知字段会直接报错。 flowcontrol.apiserver.k8s.io/v1beta3版本自 v1.32 起不再服务,清单与客户端必须迁移到 v1.29 起可用的flowcontrol.apiserver.k8s.io/v1。StructuredAuthorizationConfiguration晋级 GA,--authorization-config接受apiserver.config.k8s.io/v1;CustomResourceFieldSelectors、RetryGenerateName晋级 stable;AuthorizeWithSelectors与AuthorizeNodeWithSelectors晋级 beta(后者意味着节点凭据只能 get/list/watch 自己的 Node 及绑定该节点的 Pod——用 kubelet 凭据读其他节点或无关 Pod 的客户端必须更换认证方式)。- X.509 客户端证书认证现在生成 credential ID(派生自证书签名)用于审计日志;JWT 认证器将
jticlaim 设为 credential id;SA token 的 JTI、PodNodeInfo、NodeBindingValidation 三个特性晋级 GA。 - 新增
--requestheader-uid-headersflag(建议值X-Remote-Uid),配合 alpha gateRemoteRequestHeaderUID从请求头获取用户 UID。
3.4 kubelet 与节点侧
- systemd watchdog 集成:启用后 systemd 可自动恢复挂死的 kubelet;同时新增设备插件 gRPC 注册服务器健康检查,注册服务器宕机时 kubelet 被标记不健康。
- kubelet 配置新增
singleProcessOOMKill:cgroups v2 下单进程 OOM 模式下,容器内单进程被 OOM 不再牵连其余进程。 - 新增
KubeletCrashLoopBackoffMaxgate,允许把CrashLoopBackOff.MaxContainerRestartPeriod配置为"1s"到"300s"之间。 - CPU Manager static policy 新增
strict-cpu-reservation选项:reservedSystemCPUs中的核严格留给系统守护进程与中断,任何工作负载不可使用。 - kubelet 节点状态上报加入最多 50%
nodeStatusReportFrequency的一次性随机延迟,把状态更新负载摊平。 --runonce模式被移除:命令行 flag 与配置文件中的runOnce均会报错(配置项本身已弃用)。node-monitor-grace-period默认值从 40s 提高到 50s。- KubeletFineGrainedAuthz:启用该 gate 后,可通过
nodes/healthz、nodes/pods、nodes/configz这类细粒度 RBAC 权限访问对应 kubelet 端点,而不是必须授予nodes/proxy(后者会连带授予 exec/attach/run 权限,违背最小权限原则)。 - kubelet 拒绝 Pod 时不再错误丢弃 status 中的 QOSClass;已终止 Pod 在 kubelet 重启后不会被重新准入(修复 Completed Pod 等 finalizer 后被标记 Failed 的问题)。
- 新增
kubelet_admission_rejections_total指标与 cgroup v2 内核旧于 5.8 时的日志/事件提示。
3.5 调度器
- 两个破坏性变更(自定义插件开发者必须改代码):
preemption接口的PodEligibleToPreemptOthers参数新增ctx;NodeToStatusMap从 map 改为 struct 并暴露方法访问条目,新增absentNodesStatus,树外 PostFilter 插件需更新用法(该类型未来将更名为 NodeToStatusReader)。
SchedulerQueueingHints晋级 beta 并默认启用;in-tree 插件订阅细粒度节点事件(taints、tolerations、allocatable 变更)决定是否重新入队,忽略无关更新,队列中缓存事件尽早清理以降低内存;新增UpdatePodSchedulingGatesEliminated、UpdatePodTolerations集群事件;支持 inflight_events 指标。- 新增 alpha gate
SchedulerAsyncPreemption:抢占触发的 API 调用异步化以提升性能。 - 移除 AzureDiskLimits、CinderLimits、EBSLimits、GCEPDLimits 四个调度插件:对应 CSI 驱动会在 NodeGetInfoResponse 上报可挂载卷数,kubelet 将其存入 CSINode,调度器据此获知限制。如果调度器配置中显式启用了这些插件,需要移除。
- 修复抢占相关缺陷:preemptor 与 victim QoS 不一致时 status patch 错误导致 victim 未被删除;候选 victim 可能违反 PDB。
- 修复节点删除事件未正确通知插件的问题(in-tree 中受影响的是 PodTopologySpread)。
3.6 控制器、网络与存储
- kube-controller-manager 新增
--concurrent-daemonset-syncsflag 设置 DaemonSet 控制器 worker 数;--concurrent-job-syncs对孤儿 Pod 处理器生效。 - 移除 kube-controller-manager 中的传统云提供商集成代码:
service-lb-controller、cloud-node-lifecycle-controller、node-route-controller被删除,--cloud-provider只接受external或空字符串,其他取值非法(不再是弃用警告而是禁用警告)。 - kube-proxy:与 conntrack 表对账、只清理过期 UDP 流表项;对 Service 使用
clusterIP!=None字段选择器以跳过 Headless Service,降低不必要的带宽;不再依赖 conntrack 二进制清理过期 UDP 连接(kubeadm 预检也移除了 conntrack 存在性检查);移除已弃用的--healthz-port与--metrics-portflag。 - Job 的
ManagedBy字段晋级 beta;CronJob 生成的 Job 上的batch.kubernetes.io/cronjob-scheduled-timestamp注解晋级 stable;StatefulSet Pod 的apps.kubernetes.io/pod-index与 Indexed Job Pod 的batch.kubernetes.io/job-completion-index标签晋级 stable。 StatefulSetAutoDeletePVC、SizeMemoryBackedVolumes、PodLifecycleSleepAction、TopologyManagerPolicyOptions、AnonymousAuthConfigurableEndpoints(beta)、Kubelet Memory Manager(GA 且新增 Windows 支持)等晋级。ReadWriteOncePod卷应用 fsGroup 策略;Kube-proxy 之外的MultiCIDRServiceAllocator双栈集群无法创建双栈 Service 的问题修复。- 新增
MutatingAdmissionPolicyv1alpha1 API(CEL 表达式驱动的变更型准入,KEP 3962),需同时启用 gate 与admissionregistration.k8s.io/v1alpha1API。 seLinuxChangePolicy(alpha,SELinuxChangePolicygate):允许在启用 SELinuxMount 时选择性地不以 SELinux 标签挂载 Pod 卷。coordination.k8s.io/v1alpha1API 被移除,由 v1alpha2 取代——旧 v1alpha1 类型的资源必须在升级前删除。PodLifecycleSleepAction晋级 GA,PreStop sleep 动作允许零值;StartupProbe 达到successThreshold后显式停止,不再多执行。- 移除一批已 GA 且锁定为 true 的 feature gate:
HPAContainerMetrics、ValidatingAdmissionPolicy、CloudDualStackNodeIPs、LegacyServiceAccountTokenCleanUp、MinDomainsInPodTopologySpread、NewVolumeManagerReconstruction、NodeOutOfServiceVolumeDetach、StableLoadBalancerNodeSet、ZeroLimitedNominalConcurrencyShares、ServerSideApply/ServerSideFieldValidation、KMSv2/KMSv2KDF、ComponentSLIs、PodHostIPs。DisableNodeKubeProxyVersion回退为默认关闭(按弃用政策给足一年宽限)。
3.7 客户端与 CLI
- client-go:metadata client 的
List()支持 API streaming(需启用WatchListClient客户端 gate 且服务端支持,否则回退到 list 动词);rest 包新增带调用点源码位置的上下文日志。 kubectl get PriorityClass -owide输出 preemptionPolicy;kubectl apply --server-side支持--subresource;移除 kubectl 命令中 subresource flag 的限制;kubectl wait文档补充--for=create;kubectl top node百分号显示为(%)。
四、安全补丁时间线:四个必须知道的 CVE
v1.32 系列共包含四次「Important Security Information」发布,全部针对准入与节点攻击面:
| 版本 | CVE | 摘要 | CVSS |
|---|---|---|---|
| v1.32.1 | CVE-2024-9042 | Windows 节点:能查询节点/logs端点的用户可经 nodes/*/logs/query API 在宿主机执行任意命令。影响 kubelet ≤1.29.12、≤1.30.8、≤1.31.4、=1.32.0 | Medium (5.9) |
| v1.32.2 | CVE-2025-0426 | 对 kubelet未认证只读端点发起大量 checkpoint 请求可填满节点磁盘造成节点 DoS。影响 kubelet 1.30.0–1.30.9、1.31.0–1.31.5、1.32.0–1.32.1 | Medium (6.2) |
| v1.32.6 | CVE-2025-4563 | NodeRestriction 准入控制器在 DynamicResourceAllocation 启用时,Pod 创建路径缺少与 Pod status 更新路径对等的 resource claim 校验,被攻陷节点可创建镜像 Pod 访问未授权动态资源。影响 kube-apiserver 1.32.0–1.32.5、1.33.0–1.33.1 | Low (2.7) |
| v1.32.8 | CVE-2025-5187 | NodeRestriction 未阻止节点 patch 自己的 OwnerReference:节点用户默认可 create/patch 不可 delete 自己的 Node 对象,通过给一个集群级资源(可以随后被删除)设置 OwnerReference,可借垃圾回收删除并重建 Node,从而篡改 taint/label。影响 kube-apiserver 1.31.0–1.31.11、1.32.0–1.32.7、1.33.0–1.33.3 | Medium (6.7) |
运维结论:任何仍运行 v1.32.7 及以下的 v1.32.x 集群都应升级到至少 v1.32.8;v1.32.5 及以下的集群还额外暴露于 DRA 授权绕过。
4.1 源码实证:NodeRestriction 插件
CVE-2025-5187 的修复点在 NodeRestriction 准入插件。本仓库中的实现位于 plugin/pkg/admission/noderestriction/admission.go(配套测试 admission_test.go)。v1.32.8 的修复即在此插件中新增对 ownerReferences 变更的拦截——从源码结构看,该插件以准入链中针对 node 用户的白名单字段校验为核心,1.32.8 之前的版本对ownerReferences未做限制,这正是补丁条目「Changed the node restrictions to disallow the node to change it's ownerReferences」的落点。
配套的节点授权器(node authorizer)位于 plugin/pkg/auth/authorizer/node/node_authorizer.go,AuthorizeNodeWithSelectors晋级 beta 后,节点 API 客户端被进一步限制为只能读取自己的 Node 与绑定该节点的 Pod。
五、升级注意事项:v1.32 特有的动作项
5.1 v1.32.0-beta.0 的紧急升级说明(使用 InPlacePodVerticalScaling 必读)
CHANGELOG 在 v1.32.0-beta.0 给出醒目的 "Urgent Upgrade Notes":修复了 InPlacePodVerticalScaling 状态反序列化 bug——保存在/var/lib/kubelet/pod_status_manager_state的状态在 kubelet 重启后从此总能被读回。由于修复改变了 checkpoint 格式,使用 InPlacePodVerticalScaling 的集群在升级 kubelet 时必须清理该状态文件,否则会因状态格式不兼容导致 kubelet 启动失败。
v1.32.0 GA 本身的 "Urgent Upgrade Notes" 为「无紧急事项」,但上述 beta.0 阶段的操作对所有升级到 1.32 的集群仍然适用。
5.2 升级前的资源与配置清理清单
综合各版本条目,升级到 v1.32 前应核对:
- 经典 DRA(如曾启用):删除所有依赖工作负载,确认
PodSchedulingContext资源已清零(升级后无法通过 apiserver 删除)。 - coordination.k8s.io/v1alpha1类型的资源:先删除,API 已不服务该版本。
- flowcontrol v1beta3 清单与客户端:迁移到
flowcontrol.apiserver.k8s.io/v1。 - 调度器配置:移除显式启用的
AzureDiskLimits、CinderLimits、EBSLimits、GCEPDLimits插件。 --cloud-provider:只保留external或空字符串。- kube-proxy:移除
--healthz-port、--metrics-port参数;主机上不再有 conntrack 二进制依赖。 - kubelet:移除
--runonce;InPlacePodVerticalScaling 用户清理pod_status_manager_state。 - kubeadm:移除
upgrade apply --feature-gates、upgrade diff --*-manifest、--experimental-output等已删除的 NO-OP flag;init phase调用必须带子命令名,否则报错并打印可用命令。 - 设备插件/CDI 用户:不再通过 annotation 传递 CDI 设备信息,containerd 旧于 v1.7.2 的运行时需升级。
- ServiceAccountNodeAudienceRestriction(见 5.3):1.32.0 默认开启,1.32.2 起回退为默认关闭。
5.3 一次值得跟踪的特性门摆动:ServiceAccountNodeAudienceRestriction
该 gate 在 v1.32.0 中默认启用:NodeRestriction 准入开始校验 kubelet 申请 SA token 时的 audience 必须出现在 Pod spec 卷中。v1.32.2 条目记录了一次回退——使用azureFile卷(及其依赖 SA token 的 in-tree 内联卷/持久卷 CSI 驱动)的集群出现 "failed to get service account token attributes" 错误,特性因此回退为 1.32 中默认关闭,CHANGELOG 明确建议「如果你在使用这类卷,1.32 中不要启用该特性」。这是补丁版本中少见的行为回退,排障时值得首先对照。
六、补丁版本(v1.32.1 ~ v1.32.13)的持续修复要点
除安全修复外,补丁版本包含若干高频排障相关条目:
- v1.32.12(DRA 竞态):快速调度大量 Pod 时,不同 goroutine 间的数据处理竞态导致同一设备被分配给不同 ResourceClaim。若 DRA 驱动在
NodePrepareResources阶段做了查重,第二个 Pod 会等第一个结束才启动;否则(更糟)两个 Pod 并行使用同一设备。使用 DRA 的集群建议尽快升级。 - v1.32.10(Job 控制器):修复 Job 被 suspend 后 resume 时状态更新报
status.startTime: Required value: startTime cannot be removed for unsuspended job的错误。 - v1.32.9(kubeadm 控制面超时):默认 v1beta4 配置的 kubeadm 之前忽略了 v1beta3
TimeoutForControlPlane字段,升级后可重新生效。 - v1.32.4:修复 1.31+ 默认配置下
ConsistentListFromCache相关的跨命名空间快速 create/update 延迟回归;kube-proxy 修复 External/LoadBalancer UDP Service 删除流表时未按目的端口过滤导致的高 CPU 与内存泄漏。 - v1.32.3:一批
system:controller:*ClusterRole 补充Watch权限(cronjob、endpoint、endpointslice、endpointslicemirroring、horizontal-pod-autoscaler、node、pod-garbage-collector、storage-version-migrator)。 - v1.32.11:1.30+ 默认配置下 ValidatingAdmissionPolicy/MutatingAdmissionPolicy 拦截新建命名空间内对象时的 "namespace not found" 假错误修复。
七、在本仓库中复核这些变更的方法
CHANGELOG 中的每条变更都标注了 PR 编号与 SIG 归属,仓库内可交叉验证的典型落点:
- Pod /resize 子资源注册:pkg/registry/core/pod/storage/storage.go(
resizeStore与ResizeStrategy)。 - NodeRestriction 准入:plugin/pkg/admission/noderestriction/admission.go,测试在 admission_test.go;节点授权图在 plugin/pkg/auth/authorizer/node/node_authorizer.go。
- flowcontrol v1 API:本仓库的 API discovery 快照中包含 apis__flowcontrol.apiserver.k8s.io__v1.json 与 apis__flowcontrol.apiserver.k8s.io.json,可对照确认 v1beta3 已不再出现在 v1.32 的 discovery 输出中。
- DRA v1beta1/structured 参数:discovery 快照含 apis__resource.k8s.io__v1beta1.json、v1beta2、v1alpha3 等多个版本文件,对应 DRA 的 API 演进过程。
- kube-proxy行为(conntrack 清理、Headless Service 过滤):pkg/proxy 目录。
- 调度器插件与 QueueingHint:pkg/scheduler 目录。
- kubelet 各特性(crash loop backoff、OOM、watchdog):pkg/kubelet 目录。
注意:本仓库是 Kubernetes 主仓库快照,CHANGELOG/CHANGELOG-1.32.md记录的是发布事实;具体源码状态以仓库当前 HEAD 为准,若要在 v1.32.x 分支上核对行为,应 checkout 对应 release 标签。
八、日常使用这份 CHANGELOG 的建议
- 定级排障:先按症状定位版本(例如「节点自删」→ v1.32.8;「DRA 同设备重复分配」→ v1.32.12),再读该版本的 "Changelog since 上一版本" 小节。
- 安全合规:以第四节的四个 CVE 表为基线,确认控制面不低于 v1.32.8。
- 升级演练:结合第五节清单做 pre-flight 检查;升级 kubeadm 集群时注意
kubeadm upgrade apply/upgrade node新增的 phase 子命令与--skip-phases能力。 - 依赖审计:每个版本的 Dependencies 小节列出新增(Added)、变更(Changed)、移除(Removed)的 Go 依赖及版本区间,可对照根目录 go.mod 复核当前构建所用依赖版本(如 v1.32.0 GA 的依赖表中 etcd client 为 v3.5.16、runc 升至 v1.2.1 等)。
- 检索入口:同目录其他 minor 版本的记录见 CHANGELOG/README.md(覆盖 v1.2 至 v1.37)。
【免费下载链接】kubernetesProduction-Grade Container Scheduling and Management项目地址: https://gitcode.com/GitHub_Trending/kuber/kubernetes
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考