Resource Scope — control which resources are available per namespace.
1apiVersion: v12kind: ResourceQuota3metadata:4 name: compute-quota5 namespace: production6spec:7 hard:8 requests.cpu: "16"9 requests.memory: "32Gi"10 limits.cpu: "32"11 limits.memory: "64Gi"12 pods: "50"13 services: "20"14 persistentvolumeclaims: "10"15 secrets: "50"16 configmaps: "50"17 count/deployments.apps: "10"18 count/jobs.batch: "5"19 requests.nvidia.com/gpu: "4"20 scopeSelector:21 matchExpressions:22 - scopeName: PriorityClass23 operator: In24 values: ["high-priority"]25---26# LimitRange for defaults27apiVersion: v128kind: LimitRange29metadata:30 name: default-limits31 namespace: production32spec:33 limits:34 - type: Container35 default:36 cpu: "500m"37 memory: "256Mi"38 defaultRequest:39 cpu: "100m"40 memory: "128Mi"41 max:42 cpu: "4"43 memory: "4Gi"44 min:45 cpu: "50m"46 memory: "64Mi"47 maxLimitRequestRatio:48 cpu: "10"49 memory: "4"50 - type: Pod51 max:52 cpu: "8"53 memory: "8Gi"54 - type: PersistentVolumeClaim55 max:56 storage: "100Gi"57 min:58 storage: "1Gi"
1# Commands2kubectl get resourcequota -n production3kubectl describe resourcequota compute-quota -n production4kubectl get limitrange -n production5kubectl describe limitrange default-limits -n production67# Check quota usage8kubectl get resourcequota -n production -o json | jq '.items[].status.used'910# Test quota (will fail if exceeded)11kubectl run test --image=nginx --namespace=production --replicas=100
Scope Types: