【问题标题】:Setting Kubernetes emptyDir volume size设置 Kubernetes emptyDir 卷大小
【发布时间】:2016-01-05 11:34:50
【问题描述】:

我正在为 pod 创建一个基于 ram 的 emptyDir 卷。

 volumes:
  - name: ram-disk
    emptyDir:
      medium: "Memory"

因为这是一个 ram 磁盘,所以我需要设置它从 ram 中获取的最大大小。有设置最大尺寸和最小尺寸的参数吗?

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    对于 kubernetes-1.7.x,它是 possible to set the sizeLimit for an EmptyDir

    【讨论】:

    • {'medium': 'Memory"} emptyDir 的默认大小限制是 Kubernetes 节点上总 RAM 的 1/2。这是 Linux 上任何 tmpfs 挂载的默认值。(所以你是更有可能达到 pod 的内存限制,因为这可能小于节点 RAM 的 1/2。)
    • 链接已损坏,如果您指向外部链接,可以安全地复制引号中的内容。
    【解决方案2】:

    TL;DR:不,至少现在不会。

    这是一个未解决的问题,请参阅13479。由于我不知道您的用例,我想我唯一的建议是尝试使用hostPath 作为解决方法,另请参阅docs 了解更多详细信息。

    【讨论】:

    • 我的用例是为我的 pod 挂载一个 ram 磁盘,该 pod 包含一个服务器,可以快速执行磁盘读写操作。我可以在 docker 级别创建一个 ram 磁盘,但它需要 docker 上的特权模式。我认为带有 ram medium 的 emptyDir 做同样的事情,但我需要指定该卷的最大大小。
    【解决方案3】:

    添加示例(扩展 @flyer' 答案):

    apiVersion: v1
    kind: Pod
    ...
    spec:
      volumes:
        - emptyDir:
            sizeLimit: 1Gi
          name: log
    

    【讨论】:

    • 您似乎没有在该卷上使用“medium: Memory”。
    • "medium" 是相对的,我宁愿指定大小。
    【解决方案4】:

    从 Kubernetes 1.20 开始,有一个功能门 SizeMemoryBackedVolumes(目前是 alpha 功能)可以做到这一点。

    启用 kubelet 以确定内存支持的卷(主要是 emptyDir 卷)的大小限制。

    【讨论】:

      猜你喜欢
      • 2022-07-21
      • 2020-03-17
      • 2020-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-10
      相关资源
      最近更新 更多