#29 Investigate setting quotas on Openshift
Closed 2 years ago by lrossett. Opened 2 years ago by mobrien.

Investigate if it is possible to set default quotas per namespace and if these can be later adjusted.

Suggestions for quotas:

  • pods
  • projects
  • compute
  • memory
  • storage/pvs

Metadata Update from @lrossett:
- Issue assigned to lrossett

2 years ago
  • Managed as a Openshift resource/Object;
  • Resource exists in the same namespace it is supposed to control;
  • "End-user" can't have permissions to edit it;
  • Can control how many objects are created in a namespace (pods, secrets, etc)
  • Can limit resources such as memory or cpu usage;
  • Can be split in different resources based on context;
  • Specifying a quota requires app maintainers to specify those resources as well;
  • An operator could manage those resources based on namespace labels/annotations.

Sample ResourceQuota definition:

apiVersion: v1
kind: ResourceQuota
metadata:
  name: app-quota
spec:
  hard:
    # compute
    cpu: "1" # requests.cpu
    memory: "1Gi" # requests.memory
    ephemeral-storage: "10Gi" # requests.ephemeral-storage
    limits.cpu: "2"
    limits.memory: "2Gi"
    limits.ephemeral-storage: "10Gi"
    # storage
    requests.storage: "10Gi"
    persistentvolumeclaims: "1"
    # <storage-class-name>.storageclass.storage.k8s.io/requests.storage
    # <storage-class-name>.storageclass.storage.k8s.io/persistentvolumeclaims
    # object counts
    pods: "1"
    replicationcontrollers: 1
    # resourcequotas: 1
    # services: 1
    # services.loadbalancers: 1
    # services.nodeports: 1
    # secrets: 1
    # configmaps: 1
    # openshift.io/imagestreams: 1
  # scopes:
    # https://docs.openshift.com/container-platform/4.6/applications/quotas/quotas-setting-per-project.html#quotas-scopes_quotas-setting-per-project
    # - Terminating
    # - NotTerminating
    # - BestEffort
    # - NotBestEffort

Metadata Update from @lrossett:
- Issue status updated to: Closed (was: Open)

2 years ago

Login to comment on this ticket.

Metadata