Skip to content

How to Create, Increase or Decrease Project Quota in OpenShift

Avatar photo

https://www.linkedin.com/in/gineesh/ https://twitter.com/GiniGangadharan

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.

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.

Avatar photo


https://www.linkedin.com/in/gineesh/ https://twitter.com/GiniGangadharan
Gineesh Madapparambath is the founder of techbeatly and he is the co-author of The Kubernetes Bible, Second Edition. and the author of 𝗔𝗻𝘀𝗶𝗯𝗹𝗲 𝗳𝗼𝗿 𝗥𝗲𝗮𝗹-𝗟𝗶𝗳𝗲 𝗔𝘂𝘁𝗼𝗺𝗮𝘁𝗶𝗼𝗻. 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). (aka Gini Gangadharan - iamgini.com)

Comments

2 Responses

  1. pod says:

    For what OCP version is this template applicable?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.