Files
huanqing.shao df1c6afe10 sharing
2019-10-28 20:51:59 +08:00

3.5 KiB
Raw Permalink Blame History

vssueId, layout, description, meta
vssueId layout description meta
152 LearningLayout Kubernetes教程_本文介绍Kubernetes中Volume数据卷的基本概念_用法以及支持的数据卷类型
name content
keywords Kubernetes教程,K8S教程,Kubernetes入门,K8S入门,Kubernetes数据卷

节点相关的数据卷限制

参考文档: Node-specific Volume Limits

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

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

TOC

Kubernetes默认限制

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

云供应商 节点最大数据卷数量
Amazon Elastic Block Store (EBS) 39
Google Persistent Disk 16
Microsoft Azure Disk Storage 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 自动根据节点的类型为其设置合适的可挂载数据卷的最大数量。例如:

  • Google Compute Engine 上,根据节点类型,一个节点最多可以挂载 128 个数据卷
  • 针对 Amazon 部分实例类型M5、C5、R5、T3、Z1D上的 EBS 磁盘Kubernetes 只允许为每个节点最多挂载 25 个数据卷。针对其他类型的节点 Amazon Elastic Compute Cloud (EC2), Kubernetes 允许为每个节点最多挂载 39 个数据卷
  • 在微软 Azure 上,根据节点类型不同,单个节点最多可以挂载 64 个磁盘。更多细节请参考Sizes for virtual machines in Azure
  • 针对 CSI任何通过 CSI 规范定义数据卷挂载数量限制的驱动程序都会将该数量限定作为节点的一个可收集的参数Kubernetes 调度器可以读取此节点参数,且当节点已经达到最大可挂载数据卷数量时,不会再向该节点调度 Pod。更多细节请参考 CSI specs