【发布时间】:2018-11-30 02:16:13
【问题描述】:
我们在 GKE 上部署了一个应用程序,它将受益于磁盘上的快速临时存储。
GKE local SSD 功能几乎完美,但是我们有多个 pod 副本,理想情况下希望在同一个节点上支持多个 pod。使用 hostPath 挂载本地 SSD 很困难。
This 2016 SO question 提到了在本地 SSD 上安装 emptyDirs 的想法,这将是完美的,但我知道仍然不是一种选择。
有一个2017 mailing list thread有同样的想法,但答案仍然不肯定。
GCP docs for local SSDs 最近更新为通过PersistentVolume 抽象来描述使用它们,这听起来很有希望。我可以用它来实现我所追求的吗?
这些示例似乎显示将完整的本地 SSD 安装为 PersistentVolume,而我的偏好是为每个 pod 使用它的隔离部分。我们也不需要数据是持久的——一旦 pod 被删除,我们也会很高兴数据也被删除。
【问题讨论】:
-
这个社区规范似乎揭示了许多通过 PersistentVolume (github.com/kubernetes/community/blob/master/contributors/…) 提供本地 SSD 背后的设计思想。听起来“临时存储空间”用例可能不是主要目标,所以也许我正在寻找的东西还不可能
-
我发现 kubernetes 1.11 中添加了一个 alpha 功能:Downward API support in volume subPath。我还没有测试过,但是描述听起来好像可以通过hostPath挂载本地SSD,然后使用pod名称作为subDir
-
在阅读您想到的不同选项时,在我看来,使用 hostPath 最适合您的用例。在使用本地 SSD 时,您是否面临使用此选项的任何特定挑战/困难?
-
主机路径卷意味着单个 pod 可以访问整个本地 SSD。我希望每个 pod 都有一个独立的本地 SSD 块
标签: kubernetes google-kubernetes-engine