Get up to 50% off on CKA, CKAD, CKS, KCNA, KCSA exams and courses!

How to Create, Increase or Decrease Project Quota in OpenShift

How to Create, Increase or Decrease Project Quota in OpenShift
Image Credit : https://www.joc.com
Usually application owner or project owner will specify the quota settings (Memory and CPU) during project creation. But sometimes, they realize that the requested resource is not enough to run their applications.

Usually we name the quota with its specifications and not a good idea to edit this existing quota. Standard practice is to remove/delete the quota for the project and recreate new quota with new values.

Note : You must set quota together with limit.

Check current quota

# oc get quota -n myproject
NAME         AGE
proj-quota-8gi   284d
# oc describe quota proj-quota-8gi -n myproject
Name:           proj-quota-8gi
Namespace:      myproject
Resource        Used    Hard
--------        ----    ----
requests.cpu    4726m   5400m
requests.memory 7000Mi  8Gi

Delete the Quota

WARNING : mention project namespace to avoid any accidental quota delete.

# oc delete quota proj-quota-32gi -n myproject

Create new Quota Template

This is the template file where we mention the memory and CPU quota details.

# cat proj-quota-32Gi_no_limit.yaml
apiVersion: v1
kind: ResourceQuota
metadata:
  creationTimestamp: null
  name: proj-quota-32gi
spec:
  hard:
    requests.cpu: 19200m
    requests.memory: 32Gi

Create new Quota from Template

# oc create -f proj-quota-32Gi_no_limit.yaml -n PROJECT_NAME

Verify new Quota

# oc get quota -n myproject
NAME         AGE
proj-quota-32gi   1d
# oc describe quota proj-quota-32gi -n myproject
Name:           proj-quota-32gi
Namespace:      myproject
Resource        Used    Hard
--------        ----    ----
requests.cpu    5513m   19200m
requests.memory 10724Mi 32Gi
]# oc describe project myproject |grep Quota -A5
Quota:
        Name:           proj-quota-32gi
        Resource        Used    Hard
        --------        ----    ----
        requests.cpu    5513m   19200m
        requests.memory 10724Mi 32Gi

That’s it.

Gineesh Madapparambath

Gineesh Madapparambath

Gineesh Madapparambath is the founder of techbeatly. He is the co-author of The Kubernetes Bible, Second Edition and the author of Ansible for Real Life Automation. He has worked as a Systems Engineer, Automation Specialist, and content author. His primary focus is on Ansible Automation, Containerisation (OpenShift & Kubernetes), and Infrastructure as Code (Terraform). (Read more: iamgini.com)


Note

Disclaimer: The views expressed and the content shared in all published articles on this website are solely those of the respective authors, and they do not necessarily reflect the views of the author’s employer or the techbeatly platform. We strive to ensure the accuracy and validity of the content published on our website. However, we cannot guarantee the absolute correctness or completeness of the information provided. It is the responsibility of the readers and users of this website to verify the accuracy and appropriateness of any information or opinions expressed within the articles. If you come across any content that you believe to be incorrect or invalid, please contact us immediately so that we can address the issue promptly.

Share :

Related Posts

Play with Ansible Playbooks

Play with Ansible Playbooks

Plays are ordered set of tasks to execute against host selections from your inventory. A playbook is a file containing one or more plays.

Configure Projects with Global Network in OpenShift

We will have requirements, where customer need to configure multiple projects but they want pods inside those projects to communicate each other. …

How to find the pod details from container in OpenShift

When we have issue with container and we are not sure which pod the container belongs to; we can find the pods details as below.