容器的资源需求,资源限制

  • requests:需求,最低保障;
  • limits:限制,硬限制;

CPU:
1 颗逻辑 CPU
1=1000,millicores
500m=0.5CPU

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

QoS:

  1. Guranteed : 每个容器 同时设置CPU和内存的requests和limits
    即 :cpU.limits=cpu.request, memory.limits=memory.requests
  2. Burstable:至少有一个容器设置CPU或内存资源的requests属性
  3. BestEffort:没有任何一个容器设置了requests或limits属性
# 查看节点上的 taint
kubectl describe nodes node1 |grep -E '(Roles|Taints)'
kubectl describe nodes node2 |grep -E '(Roles|Taints)'

kubectl taint node node1 node-type-
kubectl taint node node2 node-type-

mkdir ~/metrics ; cd ~/metrics

vi pod-demo.yaml
apiVersion: v1
kind: Pod
metadata:
  name: pod-demo
  labels:
    app: myapp
    tier: frontend
spec:
  containers:
  - name: myapp
    image: ikubernetes/stress-ng
    command: ["/usr/bin/stress-ng", "-c 1", "--metrics-brief"]
    resources:
      requests:
        cpu: "200m"
        memory: "128Mi"
      limits:
        cpu: "500m"
        memory: "512Mi"

kubectl apply -f pod-demo.yaml 

kubectl exec pod-demo -- top

# 查看 Qos
kubectl describe pod pod-demo|grep "QoS Class"
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄