Limits 限制内存
- 在 Kubernetes (K8s) 中,可以使用 Limits(资源限制)来限制 Pod(容器)使用的内存数量。
- 此处的 Limits 表示 Pod 在 K8s 集群中可用的最大内存量。一旦 Pod 内存使用超过这个限制,可能会触发各种行为,例如 OOM(Out of Memory)事件、容器重启或者 K8s 控制器的调节。
- 设置 K8s Limits(资源限制)是为了确保 Pod 不会过度消耗系统的资源,防止一个容器耗尽集群中所有可用的内存。通过限制资源,可以实现资源的公平分配和保护整个集群的稳定性
要设置 K8s Limits,需要在 Pod 的配置文件(如 Deployment 或 StatefulSet)中指定 resources
字段,并在其中设置 limits
字段的值为合适的内存大小,例如:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 1
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-container
image: my-image
resources:
limits:
memory: 2Gi
在上面的示例中,memory
字段被设置为 22Gi
,表示该容器的最大内存限制为 2GB。