kubernetes(k8s):容器资源限制(内存限制、cpu限制、namespace限制)

文章目录1. k8s容器资源限制2. 内存资源限制实例3. cpu资源限制4. namespace设置资源限制5. namespace中pod的配额6. namespace的创建、使用和删除7. 清除资源限制和配额1. k8s容器资源限制k8s采用request和limit两种限制类型来对资源进行分配request(资源需求):即运行pod的节点必须满足运行pod的最基本需求才能运行pod。limit(资源限制):即运行pod期间,可能内存使用量会增加,那最多能使用多少内存,这就是资源限额。资
摘要由CSDN通过智能技术生成

1. k8s容器资源限制

k8s采用request和limit两种限制类型来对资源进行分配

  • request(资源需求):即运行pod的节点必须满足运行pod的最基本需求才能运行pod。
  • limit(资源限制):即运行pod期间,可能内存使用量会增加,那最多能使用多少内存,这就是资源限额。

资源类型:

  • CPU的单位是核心数,内存的单位是字节。
  • 一个容器申请0.5各CPU,就相当于申请1个CPU的一半,可以加个后缀m表示千分之一的概念。比如说100m的CPU,100豪的CPU和0.1个CPU都是一样的。

内存单位:

  • K,M,G,T,P,E #通常是以1000为换算标准的。
  • Ki,Mi,Gi,Ti,Pi,Ei #通常是以1024为换算标准的。

2. 内存资源限制实例

[kubeadm@server2 limit]$ cat pod.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: memory-demo
spec:
  containers:
 - name: memory-demo
    image: stress
    args:
    - --vm
    - "1"
    - --vm-bytes
    - 200M           // 容器使用200M
    resources:
      requests:      //资源需求,下限
        memory: 50Mi
      limits:        //资源限制,上限
        memory: 100Mi

[kubeadm@server1 limit]$ kubectl get pod
NAME                                      READY   STATUS             RESTARTS   AGE
memory-demo                               0/1     CrashLoopBackOff   3          106s

因为容器需要200M,超出了最大限制100Mi,所以容器无法运行。

  • 如果容器超过其内存限制,则会被终止。如果可重新启动,则与其他所有类型的运行故障一样,kubelet将重新启动它。
  • 如果一个容器超过其内存要求,那么当节点内存不足时,它的pod可能被逐出。

在这里插入图片描述

  • 当资源限制没冲突的时候正常启动
[kubeadm@server1 limit]$ vim pod.yaml 
[kubeadm@server1 limit]$ cat pod.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: memory-demo
spec:
  containers:
  - name: memory-demo
    image: k8s/stress
    args:
    - --vm
    - "1"
    - --vm-bytes
    - 200M
    resources:
      requests:
        memory: 50Mi
      limits:
        memory: 300Mi    //将最大限制改为300mi,容器可以正常运行
[kubeadm@server1 limit]$

在这里插入图片描述在这里插入图片描述
资源限制内部机制使用的是cgroup类型
目录: /sys/fs/cgroup/systemd

3. cpu资源限制

[kubeadm@server1 limit]$ cat pod.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: cpu-demo
spec:
  containers:
  - name: cpu-demo
    image: stress
    args:
    - -c
    - "2"            //容器需要2个cpu
    resources:
      requests
  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值