如何解决kubernetes 是否可以为 pod 提供来自主机的 emptyDir 卷,该卷由不同于主机的特定文件系统支持?
我知道这有点奇怪,但我正在构建一个应用程序,它对临时文件/文件夹系统进行小的本地更改,并且需要将它们与记录存储同步。我现在正在使用 NFS,但它很慢,没有超级可扩展性,而且价格昂贵。相反,我更愿意利用 btrfs
或 zfs
快照来高效同步小型本地文件系统的快照,并将快照推送到云存储中。
我在 Kubernetes(在 GKE 中)中运行此应用程序,它使用具有 ext4
格式的根分区的 GCP 虚拟机。这意味着当我将 emptyDir
卷装入我的 Pod 时,该文件夹位于我相信的 ext4
文件系统上。
是否有一种简单的方法可以将临时卷挂载到支持这些奇特快照操作的不同文件系统?
解决方法
没有。无论如何,GKE 也不提供那种低级控制,但本答案的其余部分假定您已经设法创建了某种本地安装。最简单的答案是 hostPath 挂载,但这需要您手动考虑同一主机上的多个类似 pod,以免它们发生冲突。一个新选项是一个临时 CSI 卷与一个 CSI 插件相结合,该插件基本上重新实现了 emptyDir。 https://github.com/kubernetes-csi/csi-driver-host-path 获得了大部分方法,但 1) 需要为此用例做更多工作,并且 2)明确不支持生产使用。如果其中任何一个失败,您都可以将整个 kubelet 数据目录移动到另一个挂载上,尽管这可能无法实现您的需求。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。