diff --git a/docs/README.md b/docs/README.md index a8db8f2ba..1710aa889 100644 --- a/docs/README.md +++ b/docs/README.md @@ -399,6 +399,15 @@ Before following the examples, you need to: * [Mount subpath](../examples/kubernetes/volume_path/README.md) * [Use Access Points](../examples/kubernetes/access_points/README.md) +## Resource limits +The controller container has different memory / CPU requirements based on the workload scale, concurrency, and configurations. When configuring your controller with `delete-access-point-root-dir=true`, we recommend setting higher resource limits if your workload requires many concurrent volume deletions. For example, for a workload that requires 100 concurrent PVC deletions, we recommend setting a minimum CPU limit of 3000m and a minimum memory limit of 2.5 GiB. + +Alternatively, if you would prefer not to allocate these resources to your controller container, we advise lowering concurrency by lowering the `--worker-threads` argument of the [external-provisioner](https://github.com/kubernetes-csi/external-provisioner). + +## Timeouts +For most highly concurrent workloads, we recommend increasing the default timeout argument set in the [external-provisioner](https://github.com/kubernetes-csi/external-provisioner) from 15 seconds to 60 seconds. This will avoid provisioning failures due to throttling and resource contention in the controller container. + + ## Using botocore to retrieve mount target ip address when dns name cannot be resolved * Amazon EFS CSI driver supports using botocore to retrieve mount target ip address when dns name cannot be resolved, e.g., when user is mounting a file system in another VPC, botocore comes preinstalled on efs-csi-driver which can solve this DNS issue. * IAM policy prerequisites to use this feature :