K8s 1.36 ImageVolume GA:OCI 镜像不再只能跑容器

K8s 1.36 ImageVolume GA:OCI 镜像不再只能跑容器

💡 原文中文,约9500字,阅读约需23分钟。
📝

内容提要

Kubernetes v1.36正式发布了ImageVolume特性,允许将OCI镜像直接作为Pod的Volume挂载,支持只读数据的挂载,如模型权重和配置文件。该特性经过Alpha和Beta阶段后,现已无需手动开启Feature Gate,containerd也原生支持。这一特性的引入推动了OCI标准的演进。

🎯

关键要点

  • Kubernetes v1.36 正式发布了 ImageVolume 特性,允许将 OCI 镜像直接作为 Pod 的 Volume 挂载。

  • ImageVolume 支持只读数据的挂载,如模型权重和配置文件,经过 Alpha 和 Beta 阶段后,现已无需手动开启 Feature Gate。

  • 该特性推动了 OCI 标准的演进,OCI Registry 现已成为通用的内容分发平台。

  • ImageVolume 特性从 v1.31 引入,经过近两年的发展,最终在 v1.36 正式 GA。

  • ImageVolume 允许在 Pod 中将 OCI 镜像直接作为 Volume 挂载,支持 subPath 功能。

  • 挂载的 ImageVolume 是只读的,若需修改文件,仍需使用 PVC。

  • GA 后,ImageVolume 的 Feature Gate 被锁定为默认开启,containerd 也原生支持该特性。

🔎

延伸解读

ImageVolume 的实际应用场景

ImageVolume 特性使得 OCI 镜像不仅限于运行容器,还可以作为只读数据源挂载到 Pod 中。这一特性特别适合用于存储模型权重、配置文件等静态数据,简化了数据管理流程。开发者可以利用这一特性在 CI/CD 流程中更高效地管理和分发构建产物。

只读挂载的限制与注意事项

虽然 ImageVolume 支持将 OCI 镜像挂载为只读,但这也意味着无法在运行时修改挂载的文件。如果需要动态更新文件,仍需使用 PVC。开发者在设计应用时需考虑这一限制,确保数据的可变性需求得到满足。

OCI Registry 的演进与影响

随着 ImageVolume 特性的引入,OCI Registry 不再仅仅是容器镜像的存储库,而是成为了一个通用的内容分发平台。这一变化推动了 OCI 标准的演进,使得更多类型的数据可以通过标准化的方式进行管理和分发,提升了整个生态系统的灵活性和互操作性。

延伸问答

Kubernetes v1.36的ImageVolume特性有什么新功能?

Kubernetes v1.36的ImageVolume特性允许将OCI镜像直接作为Pod的Volume挂载,支持只读数据的挂载,如模型权重和配置文件。

ImageVolume特性是如何演变的?

ImageVolume特性从v1.31引入,经过Alpha和Beta阶段,最终在v1.36正式GA,现已无需手动开启Feature Gate。

使用ImageVolume挂载的文件有什么限制?

挂载的ImageVolume是只读的,若需修改文件,仍需使用PVC。

OCI Registry在Kubernetes中的作用是什么?

OCI Registry现在成为通用的内容分发平台,支持存储和分发多种非镜像内容。

如何在Pod中使用ImageVolume?

在Pod中使用ImageVolume时,可以通过定义volumeMounts和volumes字段来挂载OCI镜像。

ImageVolume的subPath功能有什么用?

subPath功能允许只挂载OCI镜像中的特定子目录,而不是整个镜像,提高了灵活性和资源利用率。

🏷️

标签

➡️

继续阅读