Resource limit per Namespace
- Source
-
Developer
- Stimulus
-
Deploys new workload in a Namespace
- Environment
-
Any APPUiO Zone
- Artifact
-
kubectl
- Response
-
Workloads are denied if they exceed the resource limit. Workloads can comprise the following Kubernetes resources:
-
Pods
-
PersistentVolumeClaims
-
ConfigMaps
-
Secrets
-
Services
-
ImageStreams
-
ImageStreamTags
-
- Response measure
-
The workload is denied if they exceed any of the following resource quotas.
-
Count of
-
NotTerminating
Pods -
Terminating
Pods -
PersistentVolumeClaims
-
ConfigMaps
-
Secrets
-
Services
-
ImageStreams
-
ImageStreamTags
-
-
Cumulative CPU requests or limits across all containers in all
NotTerminating
Pods -
Cumulative CPU limits across all containers in all
Terminating
Pods -
Cumulative memory requests or limits across all containers in all
NotTerminating
Pods -
Cumulative memory limits across all containers in all
Terminating
Pods -
Cumulative storage requests (across all PVCs)
-
Cumulative ephemeral storage consumption (EmptyDirs and writable container layers)
-
As listed, pods are separated into NotTerminating
and Terminating
.
A Terminating
pod is a pod which has .spec.activeDeadlineSeconds >= 0
.
A NotTerminating
pod is a pod which has .spec.activeDeadlineSecons = nil
.
See the Kubernetes docs on Quota Scopes for the official documentation about NotTerminating
and Terminating
pods.
See the APPUiO Cloud Commodore component for the exact default quota values.
- Rationale
-
-
The APPUiO Zone shall be protected from abusive resource usage.
-
A quota prevents a developer (or a system account) from creating potentially billable workload (accidental or purposefully) that could lead to surprises in the bill.
-
Quotas slow down resource consumption on a cluster level and that gives time for cluster admins to do capacity planning, for example to scale up a nearly-full APPUiO Zone.
-
- See also