A detailed Resources Quotas dashboard is available for every Project to set quotas that are enforced across all the namespaces within a cluster and all the quotas supported by Kubernetes resource quotas are available. A project would have a default quota per namespace within a cluster which would be propagated to the namespace when it's created on the cluster. The default quotas for all the namespaces (in a cluster) in a Project should not exceed the Project quota. The quotas are actively enforced on the cluster using namespace ResourceQuota.
Resources Quotas Access¶
Perform the below steps to access the Resource Quotas from the controller:
- Login to the console and open the Home page
- Select the required project and click Settings gear icon. An illustrative example is shown below by selecting a project defaultproject
General Settings page appears by default.
- Click Resource Quotas tab to set the namespace quotas
- Click Configure for the required resource type
- Provide a Project Limit and Namespace Limit as shown below
Namespace Limit is mandatory when setting the Project Limit and vice-versa
|CPU Limit||The maximum amount of CPU (in millicores) allocated to the project/namespace|
|CPU Request||The minimum amount of CPU (in millicores) guaranteed to the project/namespace|
|Memory Limit||The maximum amount of memory (in bytes) allocated to the project/namespace|
|Memory Request||The minimum amount of memory (in bytes) guaranteed to the project/namespace|
|Storage Request||The minimum amount of storage (in gigabytes) guaranteed to the project/namespace|
|Services Load Balancers||The maximum number of load balancers services that can exist in the project/namespace|
|Services Node Ports||The maximum number of node port services that can exist in the project/namespace|
|Pods||The maximum number of pods that can exist in the project/namespace in a non-terminal state (i.e., pods with a state of .status.phase in (Failed, Succeeded) equal to true)|
|Services||The maximum number of services that can exist in the project/namespace|
|ConfigMaps||The maximum number of ConfigMaps that can exist in the project/namespace|
|Persistent Volume Claims||The maximum number of persistent volume claims that can exist in the project/namespace|
|Replications Controllers||The maximum number of replication controllers that can exist in the project/namespace|
|Secrets||The maximum number of secrets that can exist in the project/namespace|
Project Limit must always be higher than the Namespace Limit. Configmaps and Secrets are utilized for various purposes internally in the Kubernetes lifecycle, thus configuring low quotas for configmaps or secrets might prevent regular operations (e.g., workload deployments on the clusters). To avoid such blockages, set the project limit to 100 or more for these two resource types
- Click Save to set the configuration
Once the quotas are successfully set, these limits are automatically applied to the clusters deployed in that specific project.
When project admins enable quotas for a project, and set both project-wide limits and namespace limits, newly created namespaces inherit this information as a default value. If the combined total of all limits for namespaces exceed the total project-wide limits, the controller will not allow creation of additional namespaces. For e.g., if an administrator sets a project-wide CPU limit of 15 mCPUs with a namespace limit of 5 mCPUs, each new namespace will automatically have a limit of 5 mCPUs. The administrator can create 3 new namespaces, but will observe an error with the 4th namespace, as the total would exceed 15 mCPUs.
Utilizations page shows the quota details used for the resource at the time of namespace creation and remaining quota limit.
- Click Utilizations
- Utilization page appears with the details on Resource Type, Project Limit, Namespace Limit, and Utilizations
- Click Back to Resource Quota to view the Resource Quotas page