CKA – Requests & Limits / LimitRange的使用
Pod 层级的设定

Requests
- 最低需要达到的请求标准,Kubernetes会自动寻找worker node, 只要空闲资源达到请求标准的worker node才会启动pod
Limits
- 最大pod可用的资源,CPU 超过
limit
会被限速,但不会杀掉容器。内存超过limit
会直接触发 OOM,容器被杀掉。
Pod使用案例
apiVersion: v1
kind: Pod
metadata:
name: demo-pod
spec:
containers:
- name: app-container
image: your-image:latest
resources:
requests:
cpu: "250m" # 请求 0.25 个 CPU
memory: "128Mi" # 请求 128Mi 内存
limits:
cpu: "500m" # 限制最大使用 0.5 个 CPU
memory: "256Mi" # 限制最大使用 256Mi 内存
可以使用以下的命令查看woker node当中所有pod的request和limit
kubectl describe nodes [你的node名]

Namespace层级的设定 – LimitRange
可以在 Namespace 级别创建 LimitRange
,为该 Namespace 中的 Pod/Container 自动注入默认的 requests 和 limits,或约束其最大最小值。
apiVersion: v1
kind: LimitRange
metadata:
name: mem-cpu-limit-range
namespace: your-namespace
spec:
limits:
- type: Container
defaultRequest:
cpu: "100m"
memory: "64Mi"
default:
cpu: "500m"
memory: "256Mi"
min:
cpu: "50m"
memory: "32Mi"
max:
cpu: "1"
memory: "512Mi"
- defaultRequest:若 Pod 未指定 request,则使用该默认值。
- default:若 Pod 未指定 limit,则使用该默认值。
- min/max:对 request/limit 的范围进行约束。
Facebook评论