容器的資源需求,資源限制
- requests:需求,最低保障;
- limits:限制,硬限制;
CPU:
1 顆邏輯 CPU
1=1000,millicores
500m=0.5CPU
QoS:
- Guranteed : 每個容器 同時設置CPU和內存的requests和limits
即 :cpU.limits=cpu.request, memory.limits=memory.requests - Burstable:至少有一個容器設置CPU或內存資源的requests屬性
- 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"