我是 k8s 的新手,但一直在探索持久卷,实际限制容量的能力仅处于 alpha 阶段,需要按照以下方式手动启用才能工作:https://kubernetes.io/docs/concepts/storage/storage-capacity/#enabling-storage-capacity-tracking
我更愿意构建一个磁盘映像文件,例如:
fallocate -l 50M mytest.img
mke2fs -t ext4 mytest.img
然后将其作为卷挂载到 k8s 中的 pod 中,但我不确定如何操作。我尝试使用 hostPath,但在尝试作为文件和目录类型时失败。考虑到过多的卷挂载类型,希望我只是缺少正确的命令。
我知道我可以将图像挂载到主机上的某个位置,然后将 hostPath 指向该挂载点,但不需要主机挂载。
编辑:如果这不可能,有人可以建议一种替代的图像文件类型,以便我可以创建一个可在 k8s 中安装的有限(但可扩展)的文件?
答案1
这是社区 wiki 答案,总结了此问题的当前状态和解决方法。发布以提高可见性。请随意编辑和扩展它。
正式启用存储容量跟踪仍然处于它的 aplha 状态:
存储容量跟踪是一项 alpha 功能,仅当
CSIStorageCapacity
特性门控和storage.k8s.io/v1alpha1
API 组均已启用。有关详细信息,请参阅--feature-gates
和--runtime-config
kube-apiserver 参数。
和弹性卷已被弃用。
当前的解决方法是使用长角牛:
Longhorn 是 Kubernetes 的分布式块存储系统。Longhorn 是云原生存储,因为它是使用 Kubernetes 和容器原语构建的。