diff --git a/content/en/docs/concepts/storage/storage-limits.md b/content/en/docs/concepts/storage/storage-limits.md index 74b2cc030831f..295ed467a2b3d 100644 --- a/content/en/docs/concepts/storage/storage-limits.md +++ b/content/en/docs/concepts/storage/storage-limits.md @@ -38,6 +38,8 @@ that can be attached to a Node: You can change these limits by setting the value of the `KUBE_MAX_PD_VOLS` environment variable, and then starting the scheduler. +CSI drivers might have a different procedure, see their documentation +on how to customize their limits. 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 @@ -47,10 +49,7 @@ The limit applies to the entire cluster, so it affects all Nodes. ## Dynamic volume limits -{{< feature-state state="beta" for_k8s_version="v1.12" >}} - -Kubernetes 1.11 introduced support for dynamic volume limits based on Node type as an Alpha feature. -In Kubernetes 1.12 this feature is graduating to Beta and will be enabled by default. +{{< feature-state state="stable" for_k8s_version="v1.17" >}} Dynamic volume limits are supported for following volume types. @@ -59,14 +58,12 @@ Dynamic volume limits are supported for following volume types. - Azure Disk - CSI - -When the dynamic volume limits feature is enabled, Kubernetes automatically -determines the Node type and enforces the appropriate number of attachable -volumes for the node. For example: +For volumes managed by in-tree volume plugins, Kubernetes automatically determines the Node +type and enforces the appropriate maximum number of volumes for the node. For example: * On Google Compute Engine, -up to 128 volumes can be attached to a node, [depending on the node +up to 127 volumes can be attached to a node, [depending on the node type](https://cloud.google.com/compute/docs/disks/#pdnumberlimits). * For Amazon EBS disks on M5,C5,R5,T3 and Z1D instance types, Kubernetes allows only 25 @@ -76,7 +73,9 @@ Kubernetes allows 39 volumes to be attached to a Node. * On Azure, up to 64 disks can be attached to a node, depending on the node type. For more details, refer to [Sizes for virtual machines in Azure](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes). -* For CSI, any driver that advertises volume attach limits via CSI specs will have those limits available as the Node's allocatable property - and the Scheduler will not schedule Pods with volumes on any Node that is already at its capacity. Refer to the [CSI specs](https://github.com/container-storage-interface/spec/blob/master/spec.md#nodegetinfo) for more details. +* If a CSI storage driver advertises a maximum number of volumes for a Node (using `NodeGetInfo`), the {{< glossary_tooltip text="kube-scheduler" term_id="kube-scheduler" >}} honors that limit. +Refer to the [CSI specifications](https://github.com/container-storage-interface/spec/blob/master/spec.md#nodegetinfo) for details. + +* For volumes managed by in-tree plugins that have been migrated to a CSI driver, the maximum number of volumes will be the one reported by the CSI driver. {{% /capture %}} diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates.md b/content/en/docs/reference/command-line-tools-reference/feature-gates.md index c5c46d144a429..bee18304c4919 100644 --- a/content/en/docs/reference/command-line-tools-reference/feature-gates.md +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates.md @@ -52,8 +52,6 @@ different Kubernetes components. | `APIListChunking` | `true` | Beta | 1.9 | | | `APIResponseCompression` | `false` | Alpha | 1.7 | | | `AppArmor` | `true` | Beta | 1.4 | | -| `AttachVolumeLimit` | `true` | Alpha | 1.11 | 1.11 | -| `AttachVolumeLimit` | `true` | Beta | 1.12 | | | `BalanceAttachedNodeVolumes` | `false` | Alpha | 1.11 | | | `BlockVolume` | `false` | Alpha | 1.9 | 1.12 | | `BlockVolume` | `true` | Beta | 1.13 | - | @@ -179,6 +177,9 @@ different Kubernetes components. | `CSINodeInfo` | `false` | Alpha | 1.12 | 1.13 | | `CSINodeInfo` | `true` | Beta | 1.14 | 1.16 | | `CSINodeInfo` | `true` | GA | 1.17 | | +| `AttachVolumeLimit` | `false` | Alpha | 1.11 | 1.11 | +| `AttachVolumeLimit` | `true` | Beta | 1.12 | 1.16 | +| `AttachVolumeLimit` | `true` | GA | 1.17 | - | | `CSIPersistentVolume` | `false` | Alpha | 1.9 | 1.9 | | `CSIPersistentVolume` | `true` | Beta | 1.10 | 1.12 | | `CSIPersistentVolume` | `true` | GA | 1.13 | - |