如何配置命名空间下 Pod 配额

容器与中间件容器服务技术服务知识库
问题描述

如何限制一个命名空间下可以创建的pod数量。

问题分析

Kubernetes提供了资源对象ResourceQuota,可以实现对命名空间下创建pod的数量限制。

问题解决

1.创建ResourceQuota

$ kubectl create ns quota-pod-test
$ cat ResourceQuota-test.yaml 
apiVersion: v1
kind: ResourceQuota
metadata:
  name: quota-demo
  namespace: quota-pod-test
spec:
  hard:
    pods: "3"

$ kubectl apply -f ResourceQuota-test.yaml

2.查看ResourceQuota

$ kubectl get resourcequota -n quota-pod-test
NAME         AGE   REQUEST     LIMIT
quota-demo   2s    pods: 0/3 

3.创建pod测试

# 在quota-pod-test命令空间创建4个pod进行测试,验证能否创建成功。
$ cat quota-pod-deployment.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: pod-quota-demo
  namespace: quota-pod-test
spec:
  selector:
    matchLabels:
      purpose: quota-demo
  replicas: 4
  template:
    metadata:
      labels:
        purpose: quota-demo
    spec:
      containers:
      - name: pod-quota-demo
        image: nginx

$ kubectl apply -f quota-pod-deployment.yaml

#查看pod-quota-demo deployment信息
$ kubectl get deployment pod-quota-demo -n quota-pod-test -oyaml
...
    message: 'pods "pod-quota-demo-55bc58fc69-4zfrn" is forbidden: exceeded quota:
      quota-demo, requested: pods=1, used: pods=3, limited: pods=3'
...
# 从输出的信息可以看到,尽管尝试创建4个Pod,但是由于配额的限制,只有3个Pod能被成功创建
参考链接

https://kubernetes.io/zh/docs/tasks/administer-cluster/manage-resources/quota-pod-namespace/ 如果您有其他问题,欢迎您联系火山引擎技术支持服务

19
0
0
0
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论