Kubernetes之十:资源限制

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容