欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 艺术 > k8s-对命名空间资源配额

k8s-对命名空间资源配额

2024/10/23 13:19:19 来源:https://blog.csdn.net/weixin_63294004/article/details/142955821  浏览:    关键词:k8s-对命名空间资源配额

对k8s命名空间限制的方法有很多种,今天来演示一下很常用的一种

用的k8s对象就是ResourceQuota

一:创建命名空间

kubectl   create ns  test   #namespace命名空间可以简写成ns

二: 对命名空间进行限制

创建resourcequota

vim resourcequota.yaml

apiVersion: v1
kind: ResourceQuota               #定义配额资源   ResourceQuota
metadata:name: quota-testlabels:app: quotanamespace: test            #指定想要限制那个命名空间
spec:hard:                           #硬限制pods: "3"                     #pod最多创建3个count/deployments.apps: "1"   #deploy资源最多创建1个cpu: 5                        #cpu 下限总和5核 对比 container.resource下面的request.memorymemory: 5Gi                   #内存  下限总和5Gi 对比 container.resource下面的request.memorylimits.cpu: 10                #cpu 上限10核 对比 container.resource下面的limit.cpulimits.memory: 10Gi           #内存  上限10Gi 对比 container.resource下面的limit.memory

kubectl  apply  -f  resourcequota.yaml 

查看一下命名空间的详细信息  

kubectl describe ns test

这是显示的就是test这个名称空间下资源限制和使用情况

  • test 命名空间内最多只能有 1 个 Deployment。
  • CPU 使用总量不超过 5 个单位。
  • 内存使用总量不超过 5GiB。
  • Pod 的最大数量是 3 个。

三:创建deploy资源进行测试

vim test-deploy.yaml

apiVersion: apps/v1
kind: Deployment
metadata:namespace: testname: quota-deploy
spec:selector:matchLabels:app: testreplicas: 2       # 副本数设置为 2template:metadata:labels:app: testspec:containers:- name: pod-quotaimage: 192.168.8.99/web/nginx:1.20imagePullPolicy: IfNotPresentresources:requests:   # 资源请求,保证容器启动所需的最小资源量cpu: 1     # 请求 1 个 CPU 核心memory: 1Gi # 请求 1GiB 内存limits:     # 资源限制,限制容器可以使用的最大资源量cpu: 2     # 限制使用不超过 2 个 CPU 核心memory: 2Gi # 限制使用不超过 2GiB 内存ports:- containerPort: 80

kubectl  apply -f test-deploy.yaml

kubectl get pod -n test

kubectl describe ns test

可以看到pod已经创建出来了,并且查看ns的详细信息显示资源限制pod已使用两个,因为我们的deploy的副本数是两个

cpu和memory都是对应我们yaml文件中指定的resources

---

现在将deploy副本数修改为5个看看会怎么样

kubectl edit deploy quota-deploy -n test

将副本数这里的2换成5 即可

再查看pod

可以看到明明我们写的副本数是5个他却只创建出来了3个

再查看ns的详细信息

可以看到我们定义的资源限制起作用了, 显示这个命名空间下的pod使用率已经满了

----------------

ResourceQuota 的好处和作用主要包括:

  1. 资源管理:限制命名空间内资源的使用量,防止资源过度消耗。
  2. 成本控制:避免不必要的资源浪费,降低运行成本。
  3. 稳定性保障:防止单个应用或用户占用过多资源,影响其他应用运行。
  4. 安全性增强:减少因资源滥用导致的系统不稳定或安全风险

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com