# 节点相关的数据卷限制

参考文档: Node-specific Volume Limits (opens new window)

本文描述了在不同的云供应商环境下,单个节点可以挂载的数据卷的最大数量。

类似于 Google、Amazon、Microsoft 这样的云供应商,通常都会限定单个节点可挂载的数据卷的最大数量。Kubernetes 必须遵守这些限定,否则,当 Pod 调度上某节点上时,可能会因为不能实现数据卷挂载而启动不了。

# Kubernetes默认限制

Kubernetes调度器默认限制了单个节点可以挂载的数据卷的最大数量:

云供应商 节点最大数据卷数量
Amazon Elastic Block Store (EBS) (opens new window) 39
Google Persistent Disk (opens new window) 16
Microsoft Azure Disk Storage (opens new window) 16

# 自定义限制

修改此限制值的步骤如下:

  • 设置环境变量 KUBE_MAX_PD_VOLS 的取值
  • 重启调度器 kube-scheduler

建议不要将此数值设置得比默认值更大。在修改之前,请认真查询云供应商的相关文档,确保您的节点机器可以支持您设置的限制取值。

该限定对整个集群生效,因此,将影响到集群中的所有节点。

# Dynamic volume限制

FEATURE STATE: Kubernetes v1.12 beta

Kubernetes v1.11 开始支持按节点限制动态数据卷的数量(Dynamic volume limits),在Kubernetes v1.12 中,该特性进入 beta 阶段,并默认启用。

动态数据卷数量限定(Dynamic volume limits)支持如下类型的数据卷:

  • Amazon EBS
  • Google Persistent Disk
  • Azure Disk
  • CSI

当动态数据卷数量限定(Dynamic volume limits)特性激活时,Kubernetes 自动根据节点的类型为其设置合适的可挂载数据卷的最大数量。例如:

更新时间: yyyy-10-Mo 20:51:59