ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Kubernetes SIG Storage 2023 年度报告解读:v1.27–v1.29 存储能力里程碑与 KEP 演进全景

Kubernetes SIG Storage 2023 年度报告解读:v1.27–v1.29 存储能力里程碑与 KEP 演进全景 Kubernetes SIG Storage 2023 年度报告解读v1.27–v1.29 存储能力里程碑与 KEP 演进全景【免费下载链接】communityKubernetes Community Documentation项目地址: https://gitcode.com/GitHub_Trending/com/communitySIG Storage存储特别兴趣小组是 Kubernetes 社区负责文件与块存储能力的技术组织其 2023 年度报告完整记录了 v1.27 至 v1.29 三个版本中存储领域的关键进展4 个 KEP 进入 GA、首个卷属性动态修改特性以 Alpha 引入以及子项目与工作组的结构调整。本文以 sig-storage/annual-report-2023.md 为骨架结合 sigs.yaml、sig-storage/README.md 与 sig-storage/charter.md 等仓库文件逐项解读这些 KEP 的来龙去脉、功能价值与当前状态帮助读者完整掌握 2023 年 Kubernetes 存储能力的演进脉络与社区运作方式。SIG Storage 的职责边界与 2023 年度背景在进入年度细节之前有必要先明确 SIG Storage 在 Kubernetes 中的职权范围。根据 sig-storage/charter.md 的定义SIG Storage 负责确保不同类型的文件与块存储无论是临时还是持久、本地还是远端在容器被调度到的任何位置都可用涵盖卷的供应/创建、挂接、挂载、卸载、分离与删除以及存储容量管理容器临时存储用量、卷扩容等、基于存储影响调度数据引力、可用性等和存储通用操作快照等。其典型职能范围包括Persistent Volume ClaimsPVC与 Persistent VolumesPVStorageClass 与动态供应Dynamic ProvisioningKubernetes 卷插件体系Container Storage InterfaceCSISecret Volume、ConfigMap Volume、DownwardAPI Volume、EmptyDir Volume与 SIG Node 共同负责。在代码与二进制层面SIG Storage 拥有 Kubernetes 内部控制器与 API、外部 sidecar 容器与二进制、相关接口以及验证上述组件的单元、集成与端到端测试详见 charter.md 的 Code, Binaries and Services 一节。2023 年度报告正是在这一职责框架下展开的——这一年恰逢 Kubernetes 连续发布 v1.27、v1.28、v1.29 三个版本存储侧的 KEP 成果密集落地。2023 年度 GA 里程碑四个 KEP 正式毕业年度报告开篇列出的最突出成果是四个 KEP 在 2023 年达到 GA正式发布状态。GA 意味着特性默认启用、API 稳定可直接用于生产环境是 Kubernetes 功能成熟度的最高级别。KEP-2268非优雅节点关停Non Graceful Shutdownv1.28 GA该特性针对节点突然掉电或异常崩溃而非通过 API 正常驱逐的场景。在这种非优雅关停下节点上的 Pod 会被视为终止但挂载的卷并不会自动清理。此 KEP 的 GA 使集群管理员能够可靠地处理节点异常下线后的卷与工作负载状态避免因节点异常而导致的卷长期占用或状态不一致。它是 Kubernetes 对节点不可用这一类运维常态的标准化响应也是 2023 年率先在 v1.28 版本中毕业的存储特性之一。KEP-2485ReadWriteOncePod 持久卷访问模式v1.29 GA在默认的 ReadWriteOnceRWO访问模式下一个卷可能被同一节点上的多个 Pod 挂载这对于某些不支持多挂载的存储后端存在数据损坏风险。ReadWriteOncePodRWOP访问模式将约束收紧为一个卷同一时刻只能被一个 Pod 以读写方式挂载。该特性自引入以来历经 Alpha、Beta 阶段于 v1.29 达成 GA成为单副本有状态工作负载如单实例数据库、消息队列声明独占卷的首选方式。其价值在于把存储后端是否支持多挂载这一物理约束显式化到 Kubernetes API 层面从根源上避免并发挂载引发的数据一致性事故。KEP-3107NodeExpandVolume 请求新增 SecretRef 字段v1.29 GA当卷扩容发生在节点侧即 CSI 的 NodeExpandVolume 调用时CSI 驱动往往需要访问存储系统的凭据来完成扩容操作。此 KEP 在 NodeExpandVolume 请求中新增了SecretRef字段允许将 PVC 引用的 Secret 一并传递给驱动使需要认证的扩容流程尤其是依赖于节点侧扩容能力的存储系统得以端到端打通。v1.29 中该能力正式 GA补全了 CSI 扩容链路上控制器侧有凭据、节点侧无凭据的缺口。KEP-3333回溯式默认 StorageClass 分配Retroactive default StorageClass assignmentv1.28 GA在默认 StorageClass 机制中原本只有创建 PVC 时尚未指定 StorageClass的场景才会被自动填充默认值如果创建 PVC 时集群中尚不存在默认 StorageClass该 PVC 会被永久遗留为未绑定状态。KEP-3333 引入了回溯式分配当管理员后续创建/指定了默认 StorageClass 时此前处于Pending状态、未指定 StorageClass 且满足条件的 PVC 会被自动补上默认 StorageClass 并继续绑定流程。该特性在 v1.28 达到 GA显著降低了先建 PVC、后配默认 StorageClass这一常见操作顺序下的故障率是提升动态供应可用性的关键补强。成功进展VolumeAttributesClass 以 Alpha 姿态登场KEP-3751除了上述 GA 里程碑年度报告还特别标注了 v1.29 中一个具有方向性意义的新特性Kubernetes Volume Provisioned IOKEP-3751VolumeAttributesClass以 Alpha 状态引入。该 KEP 提议对 Kubernetes Persistent Volume API 进行扩展允许用户在卷供应完成之后修改卷的属性——典型场景是调整 IOPS 或吞吐量。此前卷的性能参数如云厂商的 IOPS/吞吐规格通常在 StorageClass 或卷供应时一次性固化后续变更需要重建卷或依赖厂商专有手段。VolumeAttributesClass 试图把卷属性变更提升为一等公民 API 操作让用户通过声明式方式动态调整已供应卷的属性。从架构角度看VolumeAttributesClass 与 StorageClass 形成互补StorageClass 决定如何创建卷VolumeAttributesClass 决定创建后如何调整卷参数。二者共同构成 Kubernetes 卷生命周期管理中供应—属性变更的完整闭环。该特性在 2023 年度报告中尚处于 Alpha其后续演进Beta、GA可以在 sig-storage/annual-report-2025.md 中看到最终走向——v1.34 时 ModifyVolume 能力达成 GA。2023 年度 KEP 阶段推进全览v1.27 / v1.28 / v1.29年度报告的第四部分以Alpha / Beta / Stable三档完整列出了 2023 年 SIG Storage 的 KEP 工作清单这是理解当年存储能力增量最直接的一张表阶段KEP主题达成版本AlphaKEP-3751Kubernetes Volume Provisioned IOVolumeAttributesClassv1.29BetaKEP-171跳过卷的 SELinux relabelingSELinuxMountReadWriteOncePodv1.27BetaKEP-3141阻止未经授权的卷模式转换v1.27BetaKEP-3756kubelet 重启后健壮的 VolumeManager 重建v1.27BetaKEP-3762PersistentVolume 最近一次阶段转换时间v1.29StableKEP-2268非优雅节点关停v1.28StableKEP-2485ReadWriteOncePod 持久卷访问模式v1.29StableKEP-3107NodeExpandVolume 请求新增 SecretRef 字段v1.29StableKEP-3333回溯式默认 StorageClass 分配v1.28Beta 阶段的四个能力v1.27、v1.29KEP-171SELinux relabeling 跳过对于 ReadWriteOncePod 卷CSI 驱动与 kubelet 可以跳过对卷的递归 SELinux relabel 操作从而显著降低卷挂载与 Pod 启动的开销。该特性在 v1.27 进入 Beta其后续演进SELinuxMount Alpha、SELinuxChangePolicy Alpha可见于 sig-storage/annual-report-2024.md 与 2025 年度报告是一条跨版本持续迭代的能力线。KEP-3141阻止未经授权的卷模式转换当从 VolumeSnapshot 创建 PVC 时卷模式filesystem / block的转换可能导致数据不兼容。此 KEP 在 v1.27 进入 Beta通过校验阻断未经授权的模式转换保护快照恢复场景下的数据安全。该 KEP 于 v1.30 达成 GA见 annual-report-2024.md。KEP-3756健壮的 VolumeManager 重建kubelet 重启后需要从磁盘重建其卷挂载状态视图reconstruction旧实现存在挂载遗漏或状态错乱的风险。该特性在 v1.27 进入 Beta旨在让 kubelet 重启后的卷恢复更快、更健壮其 GA 同样落在 v1.30。KEP-3762PV 最近阶段转换时间在PersistentVolumeStatus中新增一个时间戳字段记录 PV 最近一次发生阶段转换如 Pending → Bound的时刻为存储延迟度量、SLO 与监控提供数据基础。该特性于 v1.29 进入 Beta并在 v1.31 达成 GA见 annual-report-2024.md。子项目与工作组2023 年的组织结构变化年度报告同时披露了 SIG Storage 组织层面的状态。在子项目Subprojects维度2023 年无新增、无退役以下子项目全部处于持续运行状态external-storage外部供应器库sig-storage-lib-external-provisioner、local-static-provisioner 等的归属地git-sync将 git 仓库内容同步到目录的容器工具gluster-provisionerGluster 块/文件外部供应器kubernetes-cosiContainer Object Storage Interface对象存储接口相关实现kubernetes-csiCSI 生态的核心子项目涵盖 external-attacher、external-provisioner、external-resizer、external-snapshotter、external-health-monitor、livenessprobe、node-driver-registrar、csi-release-tools、csi-test 以及 host-path、nfs、smb、iscsi、nvmf 等 CSI 驱动示例mount-utils位于 kubelet 侧的挂载工具库staging/src/k8s.io/mount-utilsnfs-provisionerNFS 相关的 ganesha 与 subdir 外部供应器volume-populators卷填充器生态lib-volume-populator、volume-data-source-validatorvolumesKubernetes 核心仓库 pkg/volume 卷插件实现。上述子项目及其 OWNERS 归属均在 sigs.yaml 的sig-storage条目中做了登记例如kubernetes-csi子项目下登记了超过 20 个仓库的 OWNERS 链接external-snapshot-metadata子项目也已列入该子项目在 2024 年度报告中被标记为New in 2024说明 2023 年度报告中该条目处于并入前的状态。子项目的所有权归属方式与Subprojects list 与 sigs.yaml 保持同步的运营要求直接对应年度报告 Operational 部分的检查项。在工作组Working Groups维度2023 年有一项重要变化Retired in 2023Multitenancy多租户。该工作组曾负责定义 Kubernetes 将支持的多租户模型、推进相关设计与一致性测试其存档信息可在 archive/wg-multitenancy/README.md 中查看利益相关方覆盖 API Machinery、Auth、Network、Node、Scheduling 与 Storage 等多个 SIG其中 SIG Storage 是六家赞助方之一ContinuingData Protection、Policy、Structured Logging。其中 WG Data Protection 的章程与利益相关方SIG Apps、SIG Storage记录于 wg-data-protection/README.md其在 2023 年的工作如 Volume Group Snapshot 进入 Alpha、Changed Block Tracking KEP 推进见 wg-data-protection/annual-report-2023.md。社区协作与需要帮助的领域年度报告的第二、三部分反映了 SIG Storage 的社区运作与健康度信息。社区级更新2023 年 SIG Storage 在 KubeCon North America、KubeCon Europe 与 KubeCon China 均发布了社区更新演讲年度报告中列出了对应的视频链接是社区了解存储方向规划的主要渠道。需要帮助的领域对应Areas your group needs help with一节测试建设编写更多测试、监控测试网格test grid健康度、推进测试框架的外置化out of tree并增强 CSI 发布工具链文档协作需要文档作者改进 CSI 侧及存储整体文档质量Issue 治理SIG 有每周一次的 issue 分类triage例会但希望获得更高效的 issue 分类与修复支持。issue 分类工作板与例会纪要链接已列入报告感兴趣的同学可参考 sig-storage/README.md 中的会议安排加入协作。从 sig-storage/README.md 可以看到 SIG 的协作基础设施每周一 CSI 实施会议、每周三 issue 分类会议、每两周一次主会议配合sig-storageSlack 频道、邮件列表以及 api-reviews、bugs、feature-requests、pr-reviews、proposals、test-failures 等多个 GitHub 团队分工协作。当前领导层为 chairsHemant KumarRed Hat、Xing YangVMwaretechnical leadsJan ŠafránekRed Hat、Michelle AuGoogle。这些信息同样在 sigs.yaml 的 leadership 字段中登记任何治理数据的更新都以该文件为准。年度报告的产生机制与运营清单值得说明的是SIG 年度报告并非纯手工撰写而是由仓库中的模板系统辅助生成的。报告模板位于 generator/annual-report/sig_report.tmpl其逻辑会通过getReleases获取近三个版本号通过filterKEPs从 kubernetes/enhancements 的 KEP 元数据中按 owning SIG 与阶段alpha/beta/stable自动筛选出本年度 KEP 清单通过getCategorizedSubprojects与getCategorizedWorkingGroups自动归类子项目与工作组的新增/退役/持续状态生成标准的 Operational 检查清单。这也解释了为什么年度报告中的 KEP 列表注释会强调若元数据有误请核对 KEP 元数据、若元数据正确但生成结果有误请在 kubernetes/community 提 issue。读者若想核验 2023 年报告中的 KEP 清单可直接对照 sigs.yaml 中的 sig-storage 条目与对应年度报告文件。年度报告的 Operational 部分列出六项治理检查任务审核 README、审核 CONTRIBUTING、审核其他贡献文档、核对 sigs.yaml 中的子项目与 OWNERS、核对领导者有效性、核对会议纪要链接2023 年报告中的这些复选框均未勾选对比 sig-storage/annual-report-2024.md 中全部勾选的状态反映的是报告提交时点的治理流程完成情况而非功能状态。社区治理框架本身定义于 committee-steering/governance/sig-governance.md。从 2023 看存储演进主线趋势与后续走向将 2023 年度报告与其后的年度报告对照可以清晰看到几条存储演进主线1. 卷生命周期管理的属性化趋势。VolumeAttributesClassKEP-3751从 v1.29 Alpha 起步历经 v1.31 Beta最终在 v1.34 达成 GA见 annual-report-2025.md标志着供应后动态调参成为正式 API 能力。2. 挂载与恢复路径的健壮性投入。从 KEP-3756VolumeManager 重建v1.27 Beta → v1.30 GA、KEP-2268非优雅关停v1.28 GA到 SELinux relabeling 优化KEP-171 系列持续演进体现了 SIG 对节点异常与挂载恢复这类看不见但影响巨大的路径的持续加固。3. 安全边界的显式化。ReadWriteOncePodv1.29 GA将并发挂载风险挡在 API 层之外KEP-3141卷模式转换校验v1.27 Beta → v1.30 GA阻断快照恢复中的非法转换KEP-3107 的 SecretRef 让节点侧扩容也能安全携带凭据。4. 组织结构的动态调整。Multitenancy 工作组于 2023 年退役而 Data Protection、Policy、Structured Logging 持续运作子项目体系保持稳定为后续 external-snapshot-metadata 新增与 Serving/Node Lifecycle 工作组的出现2024/2025 年度报告预留了演进空间。对于希望深入参与或跟踪存储方向的开发者建议的仓库内阅读路径是sig-storage/README.md会议与联系信息→ sig-storage/charter.md职责边界→ sigs.yaml 中 sig-storage 条目子项目与 OWNERS 登记→ 各年度报告KEP 演进历史。这份 2023 年度报告既是一份当年的成绩单也是理解后续 v1.30–v1.34 存储特性如何逐步落地的最佳起点。【免费下载链接】communityKubernetes Community Documentation项目地址: https://gitcode.com/GitHub_Trending/com/community创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表