容器的资源需求及限制:
需求:requests ##定义容器运行时至少需要资源
限制:limits ##定义容器运行时最多能分配的资源
requests:pod.spec.containers.resources.requests
limits:pod.spec.containers.resources.limits
QoS Class:(Quality of service class)服务质量等级
Guranteed:优先级最高。pod中每个容器同时定义了cpu和memory的request和limit,并且两者的request=limit;
Burstable:优先级中等。pod中至少有一个容器定义了cpu或memory的request属性,且二者不一定要相等;
BestEffort:优先级最低。pod中没有任何一个容器定义了request或limit属性;
资源单位:
CPU:CPU的测量单位是cpus,允许分数值。你可以使用前缀m来表示mili(千分之一)。
例如100mcpu就是100 milicpu,等价于0.1CPU。
内存:内存的测量单位是字节。
你可以使用纯整数来表示内存,也可以使用一些前缀:E, P, T, G, M, K, Ei, Pi, Ti, Gi, Mi, Ki.
例:
1 apiVersion: v1 2 kind: Pod 3 metadata: 4 name: frontend 5 spec: 6 containers: 7 - name: db 8 image: mysql 9 env: 10 - name: MYSQL_ROOT_PASSWORD 11 value: "password"
12 resources: 13 requests: 14 memory: "64Mi"
15 cpu: "250m"
16 limits: 17 memory: "128Mi"
18 cpu: "500m"
19 - name: wp 20 image: wordpress 21 resources: 22 requests: 23 memory: "64Mi"
24 cpu: "250m"
25 limits: 26 memory: "128Mi"
27 cpu: "500m"