Kubernetes群集在yaml文件中进行资源限制-创新互联

Kubernetes对资源的限制实际上是通过cgroup来控制的,cgroup是容器的一组用来控制内核如何运行进程的相关属性集合,针对内存、CPU各种设备都有对应的cgroup。

创新互联-专业网站定制、快速模板网站建设、高性价比民乐网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式民乐网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖民乐地区。费用合理售后完善,十载实体公司更值得信赖。

默认情况下,Pod运行没有CPU和内存的限制,这就意味着系统中的任何pod将能够像执行该pod所在的节点一样,消耗足够多的CPU和内存,一般会针对某些应用的Pod资源进行资源限制,这个资源限制是通过resources的limits来实现的。

注:以下只是在yaml文件中进行资源限制的一个片段,并不是完整的yaml文件!

1)针对pod的资源限制

[root@master limit]# vim cgroup-pod.yaml 

spec:
  containers:
  - name: xxx
   image: xxx
   ports:
   - protocol: TCP
    containerPort: 80
   resources:
    limits:       #硬限制
     cpu: "4"
     memory: 2Gi
    requests:      #运行pod时请求的资源数量
     cpu: 260m
     memory: 260Mi

requests: 要分配的资源,limits为高请求的资源值。可以简单的理解为初始值和大值。

2)基于名称空间的资源限制(可以具体制定限制某一个名称空间)

1)计算资源配额
[root@master limit]# vim compute-resource.yaml 

apiVersion: v1
kind: ResourceQuota
metadata:
  name: compute-resources
spec:
  hard:
   pods: "20"     #所有pod数量不可以超过20个
   requests.cpu: "20"      #初始请求的CPU不可以超过20m
   requests.memory: 100Gi   #初始请求的内存不可以超过100G
   limits.cpu: "40"      #CPU的硬限制
   limits.memory: 200Gi     #内存的硬限制
2)资源对象数量配额限制
[root@master limit]# vim object-counts.yaml 

apiVersion: v1
kind: ResourceQuota
metadata:
  name: object-counts
spec:
  hard:
   configmaps: "10"    #最多可以创建10个configmap
   persistentvolumeclaims: "4"    #最多可以创建4个PVC
   replicationcontrollers: "20"        #最多可以创建20个RC资源对象
   secrets: "10"          #最多可以创建10个secrets  
   service.loadbalancers: "2"    #最多可以创建2个svc
3)配置CPU和内存的limitRange
[root@master limit]# vim limitRange.yaml 

apiVersion: v1
kind: LimitRange
metadata:
  name: mem-limit-range
spec:
  limits:
  - default:     
    memory: 50Gi   #硬限制
    cpu: 5    #硬限制
   defaultRequest:    #初始请求
    memory: 1Gi
    cpu: 1
   type: Container     #限制对象为容器

default 即 limit的值,defaultRequest 即 request的值。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文题目:Kubernetes群集在yaml文件中进行资源限制-创新互联
URL标题:http://myzitong.com/article/cocijg.html