Skip to content

Latest commit

 

History

History
146 lines (122 loc) · 2.4 KB

quotas-limits.md

File metadata and controls

146 lines (122 loc) · 2.4 KB

Resource Quotas and Limits

Login to OpenShift

# in standard OpenShift deployment
oc login -u your_username
# in minishift
oc login -u developer

lets create the source to image project

oc new-project quota-limit-demo

#minishift use myproject
oc project myproject

See that quota limits do not exisit in project

$  oc get quota -n quota-limit-demo
No resources found.
$  oc describe quota core-object-counts -n quota-limit-demo

Set limits As administrator

cat <<YAML > core-object-counts.yaml
apiVersion: v1
kind: ResourceQuota
metadata:
  name: core-object-counts
spec:
  hard:
    configmaps: "1"
    persistentvolumeclaims: "1"
    replicationcontrollers: "1"
    secrets: "1"
    services: "1"
YAML
oc create -f core-object-counts.yaml -n quota-limit-demo
oc describe quota core-object-counts -n quota-limit-demo

Test Quota

oc new-app https://github.com/sclorg/nodejs-ex
oc new-app cakephp-mysql-example
 oc delete quota  core-object-counts
cat <<YAML > compute-resources.yaml
apiVersion: v1
kind: ResourceQuota
metadata:
  name: compute-resources
spec:
  hard:
    pods: "1"
    requests.cpu: "1"
    limits.cpu: "1"
    limits.memory: 1Gi
YAML
oc create -f compute-resources.yaml -n quota-limit-demo
oc describe quota compute-resources

Test Quota

Attempt to create application under the catalog with higher values.

 oc delete quota  compute-resources

Test limits

oc new-app centos/python-35-centos7~https://github.com/sclorg/django-ex
oc expose svc/django-ex
oc logs -f bc/django-ex
cat <<YAML > core-resource-limits.yaml
apiVersion: "v1"
kind: "LimitRange"
metadata:
  name: "core-resource-limits"
spec:
  limits:
    - type: "Pod"
      max:
        cpu: "2"
        memory: "1Gi"
      min:
        cpu: "200m"
        memory: "6Mi"
    - type: "Container"
      max:
        cpu: "2"
        memory: "1Gi"
      min:
        cpu: "100m"
        memory: "4Mi"
      default:
        cpu: "300m"
        memory: "200Mi"
      defaultRequest:
        cpu: "200m"
        memory: "100Mi"
      maxLimitRequestRatio:
        cpu: "10"
YAML
oc create -f core-resource-limits.yaml -n quota-limit-demo
oc describe limits core-resource-limits
for i in {1..10000};do curl -s -w "%{time_total}\n" -o /dev/null http://django-ex-quota-limit-demo.apps.ocp.tosinakinosho.com/; done