diff --git a/content/en/docs/concepts/storage/storage-limits.md b/content/en/docs/concepts/storage/storage-limits.md new file mode 100644 index 0000000000000..2e3532cccf2bb --- /dev/null +++ b/content/en/docs/concepts/storage/storage-limits.md @@ -0,0 +1,73 @@ +--- +reviewers: +- jsafrane +- saad-ali +- thockin +- msau42 +title: Node-specific Volume Limits +content_template: templates/concept +--- + +{{% capture overview %}} + +This page describes the maximum number of volumes that can be attached +to a node for various cloud providers. + +Cloud providers like Google, Amazon, and Microsoft typically have a limit on +how many volumes can be attached to a node. It is important for Kubernetes to +respect those limits. Otherwise, Pods scheduled on a node could get stuck +waiting for volumes to attach. + +{{% /capture %}} + +{{% capture body %}} + +## Kubernetes default limits + +The Kubernetes scheduler has default limits on the number of volumes +that can be attached to a node: + + + + + + +
Cloud serviceMaximum volumes per node
Amazon Elastic Block Store (EBS)39
Google Persistent Disk16
Microsoft Azure Disk Storage16
+ +## Custom limits + +You can change these limits by setting the value of the +`KUBE_MAX_PD_VOLS` environment variable, and then starting the scheduler. + +Use caution if you set a limit that is higher than the default limit. Consult +the cloud provider's documentation to make sure that nodes can actually support +the limit you set. + +The limit applies to the entire cluster, so it affects all nodes. + +## Dynamic volume limits + +{{< feature-state state="alpha" for_k8s_version="v1.11" >}} + +Kubernetes 1.11 introduces dynamic volume limits based on node type. This +is an alpha feature that supports these services: + +- Amazon EBS +- Google Persistent Disk + +To enable dynamic volume limits, use the `AttachVolumeLimit` flag. + +When the dynamic volume limits feature is enabled, Kubernetes automatically +determines the node type and supports the appropriate number of attachable +volumes for the node. For example: + +* On +Google Compute Engine, +up to 128 volumes could be attached to a node, depending on the node type. + +* For Amazon EBS disks on M5/C5 instance types, Kubernetes would permit only 25 +volumes to be attached to a node. For other instance types on +Amazon Elastic Compute Cloud (EC2), +Kubernetes would permit 39 volumes to be attached. + +{{% /capture %}}