暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Kubernetes之资源限制

业祥运维室 2021-09-11
349

Kubernetes的资源限制一般是以Namespace为单位进行限制

为Namespace限额的方式有两种:ResourceQuota和LimitRange

ResourceQuota 用来限制 namespace 中所有的 Pod 占用的总的资源 request 和 limit

LimitRange 用来限制 namespace 中 单个Pod 默认资源 request 和 limit

下面看具体案例

1,首先创建namespace

1)LimitRange限制方式:

相应的yaml文件

apiVersion: v1

kind: LimitRange

metadata:

  name: cpu-limit-range

  namespace: myns

spec:

  limits:

  - default:            #默认上限

      cpu: 1000m

    defaultRequest:

      cpu: 1000m

    min:

      cpu: 500m

    max:

      cpu: 2000m

    maxLimitRequestRatio:       #定义最大值是最小值的几倍,当前为4倍

      cpu: 4

    type: Container

用kubectl apply -f  进行创建

用kubectl get Limit Range cpu-limit-range -n myns进行查看

2)ResourceQuota限制方式

相应的yaml文件

apiVersion: v1

kind: ResourceQuota

metadata:

  name: quota-example

  namespace: myns

spec:

  hard:

    pods: "5"

    requests.cpu: "1"

    requests.memory: 1Gi

    limits.cpu: "2"

    limits.memory: 2Gi

    count/deployments.apps: "2"

    count/deployments.extensions: "2"

    persistentvolumeclaims: "2"

应用后可以用下面语句进行查看

kubectl get  ResourceQuota -n myns

kubectl describe  ResourceQuotae -n myns


文章转载自业祥运维室,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论