Kubernetes资源限制

作者:卫珍佑 于 2020年05月20日 发布在分类/ K8S

Kubernetes 资源限制

 大家应该都知道Docker容器在运行时如果不限制资源的使用,那么就有可能会消耗掉节点所有的资源,这将   会影响到节点上运行的其他容器的正常运行,因此我们一般运行容器时都会限制容器最大可用内存及CPU等信息   ,而K8S也可以设置pod可使用的相关资源限制,K8S可以设置资源使用的上限与下限,而docker只能设置上限。

K8S的限制资源的字段一般配置在yaml文件的containers字段之下

下限资源设置上之后,当节点可用资源不能满足设置的下限时,pod将不会运行成功

一,资源限制及计算

   1CPU属于可压缩(compressible)型资源,即资源额度可按需收缩,而内存则是不可压缩型资源,对其执行收缩        操作可能会导致一些问题的出现

l  CPU资源的计算方式

一个核心相当于1000个微核心,即1=1000m0.5=500m

l  内存资源的计算方式

默认单位为字节,也可以使用EPTGMK单位,或者EiPiTiGiMiKi形式的单位后缀

   2,帮助信息

kubectl explain pods.spec.containers.resources  # 查看资源限制相关的yaml字段信息

可以同时设置上限和下限,也可以设置单个上限或者下限


二,案例介绍

 #我们创建一个示例pod,并做一些资源限制,具体限制资源的字段如下:

vim resources.yaml

apiVersion: v1

kind: Pod

metadata:

  name: resources-test

spec:

  containers:

  - name: resources-test

    image: nginx:1.14

    resources:                # 资源限制字段

      requests:               #下限限制

        memory: "128Mi"      #内存

        cpu: "500m"          #CPU限制

      limits:                  #上限限制

        memory: "512Mi"     #内存

        cpu: "1"             #CPU

kubectl apply -f resources.yaml        #创建对应的 pod

kubectl describe resources-test        #通过查看详细信息可以看到资源已经有限制


分享到朋友圈 分享到微信
发表评论
验证码