给一个命名空间配置内存和CPU配额

c创建一个命名空间

kubectl create namespace quota-mem-cpu-example

配额模板quota-mem-cpu.yaml 

apiVersion: v1
kind: ResourceQuota
metadata:
  name: mem-cpu-demo
spec:
  hard:
    requests.cpu: "1"
    requests.memory: 1Gi
    limits.cpu: "2"
    limits.memory: 2Gi

创建一个资源配额

kubectl create -f quota-mem-cpu.yaml --namespace=quota-mem-cpu-example

 查看配额详情信息

kubectl get resourcequota mem-cpu-demo --namespace=quota-mem-cpu-example --output=yaml

POD 模板

apiVersion: v1
kind: Pod
metadata:
  name: quota-mem-cpu-demo
spec:
  containers:
  - name: quota-mem-cpu-demo-ctr
    image: nginx
    resources:
      limits:
        memory: "800Mi"
        cpu: "800m" 
      requests:
        memory: "600Mi"
        cpu: "400m"

创建分配指定资源配额命名空间的 POD

kubectl create -f quota-mem-cpu-pod.yaml --namespace=quota-mem-cpu-example

再次查看资源配额信息 

kubectl get resourcequota mem-cpu-demo --namespace=quota-mem-cpu-example --output=yaml

再创建一个POD

apiVersion: v1
kind: Pod
metadata:
  name: quota-mem-cpu-demo-2
spec:
  containers:
  - name: quota-mem-cpu-demo-2-ctr
    image: redis
    resources:
      limits:
        memory: "1Gi"
        cpu: "800m"      
      requests:
        memory: "700Mi"
        cpu: "400m"
kubectl create -f quota-mem-cpu-pod-2.yaml --namespace=quota-mem-cpu-example

再创建一个请求内存700M的pod报错,限额请求内存1G 已经分配600M,再分配700M,资源超额!被禁止!

Error from server (Forbidden): error when creating "quota-mem-cpu-pod-2.yaml":
pods "quota-mem-cpu-demo-2" is forbidden: exceeded quota: mem-cpu-demo,
requested: requests.memory=700Mi,used: requests.memory=600Mi, limited: requests.memory=1Gi

猜你喜欢

转载自blog.csdn.net/bjdk2009/article/details/86500486
今日推荐